У меня проблема с поиском URL-адреса поиска Google с php. Вот код, который у меня есть:
<?php
$handle = fopen("http://www.google.com/complete/search?hl=en&js=true&qu=" .
$_GET["qu"], "r");
while (!feof($handle)) {
$text = fgets($handle);
echo $text;
}
fclose($handle);
?>
Вот ошибка, которую я получаю:
Предупреждение PHP:
Еореп (http://www.google.com/complete/search?hl=en&js=true&qu=cat):
не удалось открыть поток: соединение
попытка не удалась, потому что подключен
сторона не ответила должным образом после
период времени или установлен
соединение не удалось, потому что подключен
хост не ответил. в
C: \ Inetpub \ test \ google.php в строке 3
Фатальная ошибка PHP: максимальное выполнение
превышено время 60 секунд в
C: \ Inetpub \ test \ google.php в строке 3
Я использую fiddler, и выполнение запроса по URL-адресу само по себе работает нормально, но по некоторым причинам php - нет. У кого-нибудь есть идеи, почему?
обновление: вот мой javascript:
function getSuggest(keyEvent) {
keyEvent = (keyEvent) ? keyEvent : window.event;
input = (keyEvent.target) ? keyEvent.target : keyEvent.srcElement;
if (keyEvent.type == "keyup") {
if (input.value) {
getSearchData("google.php?qu=" + input.value);
} else {
var target = document.getElementById("targetDiv");
target.innerHTML = "<div></div>";
}
}
}
function getSearchData(dataSource) {
if (XMLHttpRequestObject) {
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function() {
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
eval(XMLHttpRequestObject.responseText);
}
}
XMLHttpRequestObject.send(null);
}
}
function sendRPCDone(unusedVariable, searchTerm, arrayTerm, arrayResults, ususedArray) {
var data = "<table>";
var loopIndex;
if (arrayResults.length != 0) {
for (var loopIndex = 0; loopIndex < arrayResults.length; loopIndex++) {
data += "<tr><td>" + "<a href='http://www.google.com/search?q=" +
arrayTerm[loopIndex] + "'>" + arrayTerm[loopIndex] + '</a></td><td>' +
arrayResults[loopIndex] + "</td></tr>";
}
}
data += "</table>";
var targetDiv = document.getElementById("targetDiv");
targetDiv.innerHTML = data;
}
А вот мой HTML:
<div id="googleSearch">
Search For <input id="textField" type="text" name="textField" onkeyup="getSuggest(event)" />
<div id="targetDiv4"></div>
</div>