Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: CURL запрос по IP и хост
 
 автор: AlexDIXI   (24.01.2013 в 01:22)   письмо автору
 
 


<?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($socket4096);
            if(empty(
$packet)) break;
            
$html .= $packet;
        }
        
fclose($socket);

        return 
$html;
    }
?>


Получаем по IP сервера любой хост. Можно такое реализовать через CURL? И если можно пример..

  Ответить  
 
 автор: CrazyAngel   (24.01.2013 в 02:04)   письмо автору
 
   для: AlexDIXI   (24.01.2013 в 01:22)
 

Конечно можно http://php.net/manual/ru/book.curl.php
Все просто как два пальца, но за вас работу делать я не хочу

  Ответить  
 
 автор: AlexDIXI   (24.01.2013 в 02:05)   письмо автору
 
   для: CrazyAngel   (24.01.2013 в 02:04)
 

Подскажите направление curl_setopt какой использовать? Очень вас прошу..

  Ответить  
 
 автор: CrazyAngel   (24.01.2013 в 05:31)   письмо автору
 
   для: AlexDIXI   (24.01.2013 в 02:05)
 

Я не понимаю, что именно вы не понимаете

  Ответить  
 
 автор: AlexDIXI   (26.01.2013 в 19:53)   письмо автору
 
   для: CrazyAngel   (24.01.2013 в 05:31)
 

А я не понимаю что вы не понимаете? Все просто, надо помочь с curl_setopt или что то другое юзать для решение этой задачи.

  Ответить  
 
 автор: heed   (26.01.2013 в 22:24)   письмо автору
 
   для: 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 добавлять

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования