Сделайте это CURL в PHP - PullRequest
       4

Сделайте это CURL в PHP

0 голосов
/ 07 февраля 2012

как это можно сделать в PHP

curl -I http://www.google.com | grep "Server:"

и возможно ли просто отобразить ОС, например, Linux или окна сайта, например, веб-сервер отображается с помощью curl

My Try

<?
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,"http://google.com");
curl_setopt ($ch, CURLOPT_HEADER, 1);
$data = curl_exec ($ch);
curl_close ($ch);
echo $data  ;

?>

1 Ответ

0 голосов
/ 07 февраля 2012
<?php
// create a new cURL resource                                                                                                                                
$ch = curl_init();

// set URL and other appropriate options                                                                                                                     
curl_setopt($ch, CURLOPT_URL, "http://www.google.com/");
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// grab URL and pass it to the browser                                                                                                                       
$result = curl_exec($ch);

/* Curl returns multiple headers, if the last action required multiple                                                                                       
 * requests, e.g. when doing Digest authentication. Only parse the                                                                                           
 * headers of the latest response. */
preg_match_all('/(^|\r\n\r\n)(HTTP\/)/', $result, $matches, PREG_OFFSET_CAPTURE);
$startOfHeaders = $matches[2][count($matches[2]) - 1][1];
$endOfHeaders = strpos($result, "\r\n\r\n", $startOfHeaders);
$headers = substr($result, $startOfHeaders, $endOfHeaders - $startOfHeaders);
$headers = preg_split("/\r?\n/", $headers);
foreach ($headers as $headerLine) {
  if (preg_match('|^Server:\s+(.+)|', $headerLine, $m)) {
    var_dump($m[1]);
  }
}

// close cURL resource, and free up system resources                                                                                                         
curl_close($ch);

В основном это выдержка из библиотеки Horde_Http . Конкретно запрос Curl и ответ Curl обработчики.

Это несколько сложнее, чем то, что вы делали с помощью команды "grep", но выглядело так, как будто вы хотите проанализировать заголовки ответа. Вот почему я оставил в коде более сложный анализ заголовков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...