Hướng dẫn php ping url - php ping url

Hướng dẫn php ping url - php ping url

“Ping hiểu đơn giản là gửi thông tin website của mình lên các hệ thống tìm kiếm … thông báo cho họ biết về mình (đường link website)  có hiện diện trên internet” và yêu cầu họ cập nhật thông tin về website mình lên hệ thống của họ…. khi đó hệ thống robot của hệ thống tìm kiếm (vd: google bot) sẽ tiếp nhận thông tin và tiến hành quét trang web bạn theo lịch trình ưu tiên của hệ thống….Ping hiểu đơn giản là gửi thông tin website của mình lên các hệ thống tìm kiếm … thông báo cho họ biết về mình (đường link website)  có hiện diện trên internet” và yêu cầu họ cập nhật thông tin về website mình lên hệ thống của họ…. khi đó hệ thống robot của hệ thống tìm kiếm (vd: google bot) sẽ tiếp nhận thông tin và tiến hành quét trang web bạn theo lịch trình ưu tiên của hệ thống….

I. Định nghĩa:1. Ping là gì:
1. Ping là gì:

  • Ping, viết tắt của Packet Internet Grouper (Groper), là một công cụ cho mạng máy tính sử dụng trên các mạng TCP/IP (chẳng hạn như Internet) để kiểm tra xem có thể kết nối tới một máy chủ cụ thể nào đó hay không?Packet Internet Grouper (Groper), là một công cụ cho mạng máy tính sử dụng trên các mạng TCP/IP (chẳng hạn như Internet) để kiểm tra xem có thể kết nối tới một máy chủ cụ thể nào đó hay không?
  • Ước lượng khoảng thời gian trễ trọn vòng để gửi gói dữ liệu cũng như tỉ lệ các gói dữ liệu có thể bị mất giữa hai máy.
  • Công cụ này thực hiện nhiệm vụ trên bằng cách gửi một số gói tin ICMP đến máy kia và lắng nghe trả lời.

2. Vai trò của Ping:

  • Ping giúp website được index nhanh hơn.
  • Ping là một trong những yếu tố quan trọng trong các quảng cáo trên Google.
  • Giúp cho các công cụ tìm kiếm nhận biết bạn vừa xuất bản nội dung mới trên website, khi đó các công cụ tìm kiếm sẽ tiến hành thu thập thông tin mới đó.

II. Cách sử dụng Ping:

  • Ping là một công cụ hữu ích đối với việc phát triển sản phẩm của website.
  • Có 3 Ping Webs thường được sử dụng:

♦ http://www.imtalk.org/cmps_index.php?pageid=IMT-Website-Submitter

♦ http://masspings.com/free-backlink-submitter

♦ http://www.indexkings.com/

1. Imtalk.org

B1. Mở trình duyệt Google

B2: Truy cập http://www.imtalk.org/cmps_index.php?pageid=IMT-Website-Submitter

B3: Sao chép link của website mà bạn muốn ping và dán vào ô “Website/Blog Url (http://www.YourDomain.com)”

B4: Điền từ khóa cho link ở ô  “Keyword (optional)”

B5: Chọn giới hạn số lượng trang mà bạn muốn tạo (chọn hoặc không)

B6: Bấm “Submit”Submit

2. Massping.com

B1: Mở trình duyệt Google

B2: Truy cập http://masspings.com/free-backlink-submitter

B3: Sao chép link của website mà bạn muốn ping và dán vào ô “URL:(Enter your domain or page)”

B4: Điền từ khóa cho link ở ô “Keyword”

B5: Bấm “Start Backlinking” và chờ kết quả

3. Indexkings.com

B1: Mở trình duyệt Google.

B2: Truy cập http://www.indexkings.com/

B3: Sao chép link của Website mà bạn muốn ping và dán vào ô trống

B4: Bấm “Rapid Index” và chờ kết quả

Linh Chi – SVTT2017

Tôi muốn tạo một nhỏ nếu quy trình sẽ kiểm tra xem Twitter có sẵn không (không giống như bây giờ, ví dụ) và sẽ trả về đúng hoặc sai.

Cứu giúp :)

Hỏi ngày 6 tháng 8 năm 2009 lúc 14:00Aug 6, 2009 at 14:00

Tomer Lichtashtomer LichtashTomer Lichtash

8.75416 Huy hiệu vàng54 Huy hiệu bạc71 Huy hiệu đồng16 gold badges54 silver badges71 bronze badges

1

function urlExists($url=NULL)  
{  
    if($url == NULL) return false;  
    $ch = curl_init($url);  
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);  
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
    $data = curl_exec($ch);  
    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);  
    curl_close($ch);  

    return $httpcode >= 200 && $httpcode < 300;
}  

Điều này đã được lấy từ bài đăng này về cách kiểm tra xem một URL có tồn tại không. Bởi vì Twitter sẽ cung cấp một thông báo lỗi trên 300 khi nó đang bảo trì hoặc 404, điều này sẽ hoạt động hoàn hảo.

Hướng dẫn php ping url - php ping url

0stone0

25.4K3 Huy hiệu vàng29 Huy hiệu bạc52 Huy hiệu Đồng3 gold badges29 silver badges52 bronze badges

Đã trả lời ngày 6 tháng 8 năm 2009 lúc 14:03Aug 6, 2009 at 14:03

Hướng dẫn php ping url - php ping url

Tyler Cartertyler CarterTyler Carter

59,9K20 Huy hiệu vàng127 Huy hiệu bạc149 Huy hiệu đồng20 gold badges127 silver badges149 bronze badges

1

Đây là một:

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=8&txtCodeId=1786

Another:

function ping($host, $port, $timeout) { 
  $tB = microtime(true); 
  $fP = fSockOpen($host, $port, $errno, $errstr, $timeout); 
  if (!$fP) { return "down"; } 
  $tA = microtime(true); 
  return round((($tA - $tB) * 1000), 0)." ms"; 
}

//Echoing it will display the ping if the host is up, if not it'll say "down".
echo ping("www.google.com", 80, 10);  

Đã trả lời ngày 6 tháng 8 năm 2009 lúc 14:02Aug 6, 2009 at 14:02

Hướng dẫn php ping url - php ping url

6

Sử dụng shell_exec:

$output
"; ?>

Đã trả lời ngày 6 tháng 8 năm 2009 lúc 14:46Aug 6, 2009 at 14:46

Elzo Valugielzo ValugiElzo Valugi

26.5K14 Huy hiệu vàng92 Huy hiệu bạc114 Huy hiệu đồng14 gold badges92 silver badges114 bronze badges

3

Một tùy chọn khác (nếu bạn cần/muốn ping thay vì gửi yêu cầu HTTP) là lớp ping cho PHP. Tôi đã viết nó cho mục đích này và nó cho phép bạn sử dụng một trong ba phương thức được hỗ trợ để ping một máy chủ (một số máy chủ/môi trường chỉ hỗ trợ một trong ba phương thức).

Ví dụ sử dụng:

require_once('Ping/Ping.php');
$host = 'www.example.com';
$ping = new Ping($host);
$latency = $ping->ping();
if ($latency) {
  print 'Latency is ' . $latency . ' ms';
}
else {
  print 'Host could not be reached.';
}

Đã trả lời ngày 10 tháng 12 năm 2012 lúc 3:13Dec 10, 2012 at 3:13

Geerlingguygeerlingguygeerlingguy

4.5128 Huy hiệu vàng52 Huy hiệu bạc91 Huy hiệu Đồng8 gold badges52 silver badges91 bronze badges

ping có sẵn trên hầu hết mọi hệ điều hành. Vì vậy, bạn có thể thực hiện một cuộc gọi hệ thống và lấy kết quả.

Đã trả lời ngày 6 tháng 8 năm 2009 lúc 14:36Aug 6, 2009 at 14:36

Philippe Gerberphilippe GerberPhilippe Gerber

17.2k6 Huy hiệu vàng44 Huy hiệu bạc40 Huy hiệu đồng6 gold badges44 silver badges40 bronze badges

Giải pháp khác :

Sử dụng get_headers và so sánh mã HTTP.

function ping(string $url): bool
{
   $headers = get_headers($url);
   $httpCode = intval(substr($headers[0], 9, 3));

   return $httpCode >= 200 && $httpCode < 300;
}

Đã trả lời ngày 6 tháng 10 lúc 14:48Oct 6 at 14:48

42abc42abc42abc

111 Huy hiệu bạc3 Huy hiệu đồng1 silver badge3 bronze badges

Với chức năng sau, bạn chỉ gửi các gói ICMP thuần túy bằng cách sử dụng socket_create. Tôi đã nhận được mã sau từ ghi chú của người dùng ở đó. N.B. Bạn phải chạy những điều sau đây là Root.root.

Mặc dù bạn không thể đặt điều này vào một trang web tiêu chuẩn, bạn có thể chạy nó như một công việc cron và điền vào cơ sở dữ liệu với kết quả.

Vì vậy, nó phù hợp nhất nếu bạn cần giám sát một trang web.

function twitterIsUp() {
    return ping('twitter.com');
}

function ping ($host, $timeout = 1) {
    /* ICMP ping packet with a pre-calculated checksum */
    $package = "\x08\x00\x7d\x4b\x00\x00\x00\x00PingHost";
    $socket = socket_create(AF_INET, SOCK_RAW, 1);
    socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => $timeout, 'usec' => 0));
    socket_connect($socket, $host, null);

    $ts = microtime(true);
    socket_send($socket, $package, strLen($package), 0);
    if (socket_read($socket, 255)) {    
        $result = microtime(true) - $ts;
    } else {
        $result = false;
    }
    socket_close($socket);

    return $result;
}

Đã trả lời ngày 12 tháng 11 năm 2013 lúc 12:03Nov 12, 2013 at 12:03

Hướng dẫn php ping url - php ping url

icc97icc97icc97

10,4K8 Huy hiệu vàng65 Huy hiệu bạc85 Huy hiệu Đồng8 gold badges65 silver badges85 bronze badges

Đây là mã PHP tôi đã sử dụng, trả lời thường như thế này:

    2 packets transmitted, 2 received, 0% packet loss, time 1089ms

Vì vậy, tôi đã sử dụng mã như thế này:

  

    $ping_how_many = 2;
    $ping_result = shell_exec('ping -c '.$ping_how_many.' bing.com');
    if( !preg_match('/'.$ping_how_many.' received/',$ping_result) ){
       echo 'Bad ping result'. PHP_EOL;
        // goto next1;
    } 


Đã trả lời ngày 26 tháng 8 năm 2016 lúc 11:18Aug 26, 2016 at 11:18

FthrfthrFthr

7839 Huy hiệu bạc10 Huy hiệu đồng9 silver badges10 bronze badges

2