☰
✕
Главная
© 2002 - 2025
Diary.ru
netcat-na-diary
| понедельник, 27 января 2014
Сокеты
<?php error_reporting(E_ALL & ~E_NOTICE); function get_content ($hostname, $path) { $line = ""; $fp = fsockopen($hostname, 80, $errno, $errstr, 30); if(!$fp) echo "$errstr ($errno)<br />\n"; else { $headers = "GET $path HTTP/1.0\r\n"; $headers .= "Host: $hostname\r\n"; $headers .= "Connection: Close\r\n\r\n"; fwrite($fp, $headers); while (!feof($fp)) { $line .= fgets($fp, 1024); } fclose ($fp); } return $line; } $hostname = "www.php.net"; $path = "/"; //set_time_limit(180); $content = get_content ($hostname, $path); echo strstr ($content, '>'); ?>
Библиотека CURL (Client URL Library)
<?php error_reporting(E_ALL & ~E_NOTICE); $curl = curl_init("http://www.php.net"); curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1); $content = curl_exec($curl); curl_close($curl); echo $content; ?>
Получение НТТР-заголовков с сервера
<?php error_reporting(E_ALL & ~E_NOTICE); function get_content ($hostname, $path) { $fp = fsockopen($hostname, 80, $errno, $errstr, 30); if(!$fp) echo "$errstr ($errno)<br />\n"; else { $headers = "HEAD $path HTTP/1.1\r\n"; $headers .= "Host: $hostname\r\n"; $headers .= "Connection: Close\r\n\r\n"; fwrite($fp, $headers); while (!feof($fp)) { $out[] = fgets($fp, 1024); } fclose ($fp); } return $out; } $hostname = "www.php.net"; $path = "/"; set_time_limit(180); $out = get_content ($hostname, $path); echo "<pre>"; print_r($out); echo "</pre>"; ?>
Результат
<pre>Array ( [0] => HTTP/1.1 200 OK [1] => Server: nginx/1.4.4 [2] => Date: Mon, 27 Jan 2014 11:04:35 GMT [3] => Content-Type: text/html; charset=utf-8 [4] => Connection: close [5] => X-Powered-By: PHP/5.5.5-1 [6] => Last-Modified: Mon, 27 Jan 2014 17:41:01 GMT [7] => Content-language: en [8] => Set-Cookie: COUNTRY=RUS%2C92.53.98.21; expires=Mon, 03-Feb-2014 11:04:35 GMT; Max-Age=604800; path=/; domain=.php.net [9] => Set-Cookie: LAST_NEWS=1390820675; expires=Tue, 27-Jan-2015 11:04:35 GMT; Max-Age=31536000; path=/; domain=.php.net [10] => Link: ; rel=shorturl [11] => [12] => )</pre>
Использование CURL
<?php error_reporting(E_ALL & ~E_NOTICE); function get_content($hostname) { $curl = curl_init($hostname); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HEADER, 1); curl_setopt($curl, CURLOPT_NOBODY, 1); $content = curl_exec($curl); curl_close($curl); return explode("\r\n", $content); } $hostname = "http://www.php.net"; $out = get_content($hostname); echo "<pre>"; print_r($out); echo "</pre>"; ?>
Определение размера файла на удаленном хоcте
<?php error_reporting(E_ALL & ~E_NOTICE); function get_content($hostname) { $curl = curl_init($hostname); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HEADER, 1); curl_setopt($curl, CURLOPT_NOBODY, 1); $content = curl_exec($curl); curl_close($curl); return explode("\r\n", $content); } $hostname = "http://www.softtime.ru/files/configs.zip"; $out = get_content($hostname); $lines = implode(" ", $out); preg_match("|Content-Length:[\s]+([\d]+)|i", $lines, $matches); echo "Количество байт в архиве - ".$matches[0]; ?>
PHP
CURL
Смотрите также
Пожалуйста, пожалуйста, пожалуйста!
"Саван" (The Shrouds) Канада, Франция, 2024
Снова Мандела
Поверь в себя)
Happy Imagination 2020
Утречка! 🤣🤣