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

Форум PHP

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

 

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

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

тема: Данные с overture
 
 автор: Shorr Kan   (07.12.2005 в 09:08)   письмо автору
 
 

Я хотел бы вытаскивать данные с http://inventory.overture.com/d/searchinventory/suggestion/ . Для этого использую функцию , данную на http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=9487&page=3 :


<?
function postdata($host$path$data$proxy false$proxyport 80$get false

     
$buffer true
     if( !
$proxy $proxy $host
     
$fp = @fsockopen("tcp://".$proxy$proxyport$errno$errstr10); 
     if (!
$fp) { 
         return 
false
     } else { 
         
$out  "POST http://$host$path HTTP/1.1\r\n"
         
$out .= "Host: $host\r\n"
         
$out .= "Referer: $host$path\r\n"
         
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n"
         
$out .= "Content-type: application/x-www-form-urlencoded\r\n"
         
$out .= "Content-Length: "strlen($data) ."\r\n\r\n"

         
fwrite($fp$out.$data); 
         if(
$get
         { 
             while (!
feof($fp)) { 
                 
$buffer .= fgets($fp1024); 
             } 
         } else { 
             
fgets($fp1024); 
         } 
         
fclose($fp); 
     } 
     return 
$buffer


?> 


Но как ее вызывать? У меня лично в ответ выходит ошибка 404.

Целевая форма, по которой надо "щелкнуть":


<form action="/d/searchinventory/suggestion/" method="POST" target="_top" name="stst">
<input type=hidden name=mkt value="us">
<input type=hidden name=lang value="en_US">
<input type=text name=term size=20 value="">
<input type=image border=0 src=/images/shared/b.gif width=17 height=18 align=absmiddle>
</form>

   
 
 автор: cheops   (07.12.2005 в 13:57)   письмо автору
 
   для: Shorr Kan   (07.12.2005 в 09:08)
 

А как вы её вызываете?

   
 
 автор: Artem S.   (07.12.2005 в 15:04)   письмо автору
 
   для: Shorr Kan   (07.12.2005 в 09:08)
 


<?
echo postdata('inventory.overture.com''/d/searchinventory/suggestion/''mkt=us&lang=en_US&term=term'false80true);
?>

   
 
 автор: Shorr Kan   (07.12.2005 в 16:25)   письмо автору
 
   для: Artem S.   (07.12.2005 в 15:04)
 

Ну вот почти так, как сказал Artem S. ... Только я с первыми тремя параметрами вызывал - без последних трех. Но и


<? 
echo postdata('inventory.overture.com''/d/searchinventory/suggestion/''mkt=us&lang=en_US&term=term'false80true); 
?> 


не работает.


1HTTP/1.1 404 Not Found 

   
 
 автор: Artem S.   (07.12.2005 в 17:51)   письмо автору
 
   для: Shorr Kan   (07.12.2005 в 16:25)
 


function get_overture($keyword, $limit)
{
    $keyphras = array();
    $buffer = file_get_contents("http://inventory.overture.com/d/searchinventory/suggestion/?term=$keyword");
    preg_match_all("/color=#000000>([^<]+)<\/a>/i", $buffer, $matches);
    for($i = 0; $i < $limit; $i++) {
        $keyphras[] = $matches[1][$i];
    }
    return $keyphras;
}

   
 
 автор: Shorr Kan   (07.12.2005 в 19:03)   письмо автору
 
   для: Artem S.   (07.12.2005 в 17:51)
 

Так они и get принимают? Ясно. Спасибо - то что нужно.

   
Rambler's Top100
вверх

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