|
|
|
|
<?php
function download($url, $bind_ip = false)
{
$components = parse_url($url);
$header = array();
$header[] = 'GET ' . $components['path'] . (isset($components['query']) ? '?' . $components['query'] : '')." HTTP/1.0";
$header[] = 'Host: ' . $components['host'];
$header[] = 'User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7';
$header[] = 'Accept-Language: en-us,en;q=0.5';
$header[] = 'Connection: close';
$header = implode("\n", $header) . "\n\n";
$packet = $header;
//print $packet;
//----------------------------------------------------------------------
// Connect to server
//----------------------------------------------------------------------
$socket = @ fsockopen($bind_ip,80,$err_code,$err_str,4);
if (!$socket)
{
print "error {$err_code} : {$err_str}\r\n";
return false;
}
//----------------------------------------------------------------------
// Send First Packet to Server
//----------------------------------------------------------------------
fputs($socket, $packet);
//----------------------------------------------------------------------
// Receive First Packet to Server
//----------------------------------------------------------------------
$html = '';
while(1) {
$packet=fread($socket, 4096);
if(empty($packet)) break;
$html .= $packet;
}
fclose($socket);
return $html;
}
?>
|
Получаем по IP сервера любой хост. Можно такое реализовать через CURL? И если можно пример.. | |
|
|
|
|
|
|
|
для: AlexDIXI
(24.01.2013 в 01:22)
| | Конечно можно http://php.net/manual/ru/book.curl.php
Все просто как два пальца, но за вас работу делать я не хочу | |
|
|
|
|
|
|
|
для: CrazyAngel
(24.01.2013 в 02:04)
| | Подскажите направление curl_setopt какой использовать? Очень вас прошу.. | |
|
|
|
|
|
|
|
для: AlexDIXI
(24.01.2013 в 02:05)
| | Я не понимаю, что именно вы не понимаете | |
|
|
|
|
|
|
|
для: CrazyAngel
(24.01.2013 в 05:31)
| | А я не понимаю что вы не понимаете? Все просто, надо помочь с curl_setopt или что то другое юзать для решение этой задачи. | |
|
|
|
|
|
|
|
для: AlexDIXI
(24.01.2013 в 01:22)
| | curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 0,
CURLOPT_HEADER => 1,
CURLOPT_NOBODY => 0,
CURLOPT_TIMEOUT => 20,
CURLOPT_NOPROGRESS => 1,
CURLOPT_URL => 'http://google.com/',
CURLOPT_HTTPHEADER => array(
//'cookie: name=admin; passwd=12345;
'useragent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.7) Gecko/20100106 Ubuntu/9.10 (karmic) Firefox/3.5.7',
'referer: http://google.com/',
'Host: ....................'),
));
>Получаем по IP сервера любой хост
Только запрашиваемый хост, просто виртуальные серверы читают заголовок Host: и только из-за него отдаётся нужный сайт, а CURLOPT_URL, насколько помню, никак его не меняет, поэтому надо в headers добавлять | |
|
|
|