|
|
|
| Я хотел бы вытаскивать данные с 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, $errstr, 10);
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($fp, 1024);
}
} else {
fgets($fp, 1024);
}
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>
|
| |
|
|
|
|
|
|
|
для: Shorr Kan
(07.12.2005 в 09:08)
| | А как вы её вызываете? | |
|
|
|
|
|
|
|
для: Shorr Kan
(07.12.2005 в 09:08)
| |
<?
echo postdata('inventory.overture.com', '/d/searchinventory/suggestion/', 'mkt=us&lang=en_US&term=term', false, 80, true);
?>
|
| |
|
|
|
|
|
|
|
для: Artem S.
(07.12.2005 в 15:04)
| | Ну вот почти так, как сказал Artem S. ... Только я с первыми тремя параметрами вызывал - без последних трех. Но и
<?
echo postdata('inventory.overture.com', '/d/searchinventory/suggestion/', 'mkt=us&lang=en_US&term=term', false, 80, true);
?>
|
не работает.
| |
|
|
|
|
|
|
|
для: 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;
}
|
| |
|
|
|
|
|
|
|
для: Artem S.
(07.12.2005 в 17:51)
| | Так они и get принимают? Ясно. Спасибо - то что нужно. | |
|
|
|