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

Форум PHP

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

 

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

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

тема: Сокеты или проблема с запросами
 
 автор: eclipse   (08.02.2007 в 11:23)   письмо автору
 
 

приветствую =) у меня такой вопрос... долгое время всё было классно и код который будет приведён ниже работал на протяжении двух лет а теперь не могу понять почему гугл не понимает такой запрос...


<?php

$host 
"64.233.179.104";
$cfgPort 80;
$cfgTimeOut 15;

// open a socket
if(!$cfgTimeOut)
// without timeout
$s fsockopen($host$cfgPort);
else
// with timeout
$s fsockopen($host$cfgPort, &$errno, &$errstr$cfgTimeOut);

if(!
$s) {
echo 
"Connection failed\n";
exit();


fputs ($s"GET http://$host/translate_c?hl=en&ie=UTF-8&oe=UTF-8&langpair=ru%7Cen&u=http://www.nnm.ru&prev=/language_tools HTTP/1.0\r\n");
fputs ($s"Host: $host\r\n");
fputs ($s"Connection: close\r\n\r\n");

while (!
feof($s)) {

 
$text.=fgets($s1024);

}

echo 
$text;

?>


оч хотелось бы узнать в чём моя ошибка или недочёт...

   
 
 автор: ZuArt   (08.02.2007 в 11:28)   письмо автору
 
   для: eclipse   (08.02.2007 в 11:23)
 

Смысл скрипта - переводчик =) ?

а неработать может то, что работало раньше по причине изменения синтаксиса запросов к гуглу... или может гугл забанил адресок или хостер что-то в настройках поменял - начинайте с хостера - узнайте, какие у них были изменения на сервере за последнее время... потом вручную попробуйте инициировать строку запроса, которую генерит скрипт - если не отработает в браузере - все будет понятно и так, если сработает - надо копать дальше...

   
 
 автор: eclipse   (08.02.2007 в 11:33)   письмо автору
 
   для: ZuArt   (08.02.2007 в 11:28)
 

всё не совсем так... если взять какой нибудь другой запрос пусть даже того же гугла что нить типа


GET http://www.google.ru/search?hl=ru&q=fuck&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=


то такой запрос он поймёт... хотя раньше понимал и запрос с которым у меня траблы

   
 
 автор: ZuArt   (08.02.2007 в 11:36)   письмо автору
 
   для: eclipse   (08.02.2007 в 11:33)
 

неее =) надо проверять именно ГЕНЕРИРУЕМЫЙ запрос =) если он не пройдет, то претензий к скрипту не будет =) надо будет поанализировать запросы нужного типа - мало-ли найдутся грабли
+ попробовать поменять фиксированный IP на DNS-имя

   
 
 автор: eclipse   (08.02.2007 в 11:38)   письмо автору
 
   для: ZuArt   (08.02.2007 в 11:36)
 

вместо ip пробовал писать хост google.com

как я думаю что если возникает проблема при разных запросах с одним и тем же хостом то тогда что то не так с самим запросом... можжет я конечно не прав....

   
 
 автор: ZuArt   (08.02.2007 в 11:44)   письмо автору
 
   для: eclipse   (08.02.2007 в 11:38)
 

Проверил сам - запрос выкидывает на страницу с новостями какими-то или приколами...
Если получаемый текст проводит обработку и вычлененние какой-то информации - копайте в торону изменения кода запрашиваемого ресурса... а для начала просто проверьте, получаются ли данные вообще.

   
 
 автор: eclipse   (08.02.2007 в 11:48)   письмо автору
 
   для: ZuArt   (08.02.2007 в 11:44)
 

у меня при таком запросе гугл пишет


HTTP/1.0 302 Found Cache-Control: private Location: http://www.google.com/sorry/?continue=http://64.233.179.104http://64.233.179.104/translate_c%3Fhl%3Den%26ie%3DUTF-8%26oe%3DUTF-8%26langpair%3Dru%257Cen%26u%3Dhttp://www.nnm.ru%26prev%3D/language_tools Date: Thu, 08 Feb 2007 08:47:05 GMT Content-Type: text/html Server: GFE/1.3 Connection: Keep-Alive Content-Length: 397 
302 Moved
The document has moved here.


хотя должен выводить переведённый nnm.ru

   
 
 автор: eclipse   (08.02.2007 в 11:56)   письмо автору
 
   для: eclipse   (08.02.2007 в 11:48)
 

хотя факинг =) и в правду =) в том же денвере всё классна выводится =) значит всё таки хостинг скорее всего

   
 
 автор: ZuArt   (08.02.2007 в 13:14)   письмо автору
 
   для: eclipse   (08.02.2007 в 11:56)
 

=))) скорее всего, возможно, что в URL-запросе, отправляемом гуглу что-то меняется, потому тот и ругается =)

   
 
 автор: cheops   (08.02.2007 в 13:35)   письмо автору
 
   для: eclipse   (08.02.2007 в 11:48)
 

302 - это код переадресации - который предлагает вам загрузить другую страницу.

   
 
 автор: ZuArt   (08.02.2007 в 14:04)   письмо автору
 
   для: cheops   (08.02.2007 в 13:35)
 

хм... кстать, на гугле и происходит переброс на адрес с использованием IP - естессно браузеры сами перепрыгивают, а вот скрипт нет =)))
действительно - нуно IP использовать вместо "google.com"

   
 
 автор: eclipse   (08.02.2007 в 15:07)   письмо автору
 
   для: cheops   (08.02.2007 в 13:35)
 

верна =) но я всё равно не понимаю что происходит... такое чувство что запрос искажается когда приходит к гуглу.... самое интересное что в денвере запрос с nnm.ru получился и сработал... а если поставить какую нить мне нужную ссылку с которой и должен работать такой код то всё равно не срабатывает даже в денвере

   
Rambler's Top100
вверх

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