Реклама на сайте Advertise with us

Про сокеты и http вопрос

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

НЕ ЗАНИМАЮСь ФИНАНСАМИ!

С нами с 16.03.03
Сообщения: 1251
Рейтинг: 653

Ссылка на сообщениеДобавлено: 19/09/05 в 11:23       Ответить с цитатойцитата 

Запрашиваю сокетом урл (вытягиваю страничку), ошибок не возвращает, изначально eof не стоит, читаю данные - считавает 0 байт и находит eof. страничка 100% жива и ответ не нулевой получить можно. но вот как? и почему такое происходит?
Код приблизительно такой (проверки и инициализации поскипаны)

$f=@fsockopen($domain,$port,$errno,$errstr,20);
@fputs($f,$query);
...
while (!feof($f)) $res.=@fread($f,128);

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 19/09/05 в 15:30       Ответить с цитатойцитата 

показывай запрос.

0
 

эксклюзивщик

С нами с 08.03.05
Сообщения: 1013
Рейтинг: 512

Ссылка на сообщениеДобавлено: 19/09/05 в 15:46       Ответить с цитатойцитата 

ну так ты бы для начала убрал значек @ и посмотрел, что пишет

уникальные предложения по съемке контента гомосексуального харрактера

3
 

НЕ ЗАНИМАЮСь ФИНАНСАМИ!

С нами с 16.03.03
Сообщения: 1251
Рейтинг: 653

Ссылка на сообщениеДобавлено: 19/09/05 в 21:43       Ответить с цитатойцитата 

mr.GOD писал:
показывай запрос.

GET /freesites/realrussianboys/bestsite/index.htm HTTP/1.1 HOST: fuckedfucked.com Referer: http://www.pornvulcan.com User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4) Connection: Close

0
 

НЕ ЗАНИМАЮСь ФИНАНСАМИ!

С нами с 16.03.03
Сообщения: 1251
Рейтинг: 653

Ссылка на сообщениеДобавлено: 19/09/05 в 21:44       Ответить с цитатойцитата 

=ZeD= писал:
ну так ты бы для начала убрал значек @ и посмотрел, что пишет

Убрал
ничего не пишет

0
 



С нами с 07.09.05
Сообщения: 5
Рейтинг: 1

Ссылка на сообщениеДобавлено: 19/09/05 в 22:05       Ответить с цитатойцитата 

Цитата:
Убрал
ничего не пишет

попробуй убрать @ везде и вначале скрипта написать
Код:
<?
error_reporting(E_ALL);
?>

а вообще, чтобы не ставить @ везде где попало - можно вначале скрипта писать
Код:
<?
error_reporting(0);
?>


Последний раз редактировалось: Surt (19/09/05 в 22:10), всего редактировалось 3 раз(а)

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 19/09/05 в 22:09       Ответить с цитатойцитата 

Guest писал:
GET /freesites/realrussianboys/bestsite/index.htm HTTP/1.1 HOST: fuckedfucked.com Referer: http://www.pornvulcan.com User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4) Connection: Close


Переносы строк есть?(\n)
urlencode()?
К другим пагам пробывал обращаться по средствам своего скрипта?
Если пробывал и результат отрицательный, ищи косяк у себя в скрипте(он есть).
Для справки : ответ нулевой длины как правило означает,что сервер не понял запроса.

2Surt
Не пиши бред плиз.

Последний раз редактировалось: xreload (19/09/05 в 22:20), всего редактировалось 1 раз

3
 

НЕ ЗАНИМАЮСь ФИНАНСАМИ!

С нами с 16.03.03
Сообщения: 1251
Рейтинг: 653

Ссылка на сообщениеДобавлено: 19/09/05 в 22:19       Ответить с цитатойцитата 

mr.GOD писал:
Переносы строк есть?(\n)
К другим пагам пробывал обращаться по средствам своего скрипта?
Если пробывал и результат отрицательный, ищи косяк у себя в скрипте(он есть),если положительный то значит та "рабочая пага" оказалась все таки нерабочей или ты генеришь заголовки все таки неверерно.

Пробовал 95-99% - возвращет номарльно результат
а у части страниц такая ерунда
и должен быть этот баг...
тока вот гдеicon_smile.gif

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 19/09/05 в 22:21       Ответить с цитатойцитата 

urlencode()?
Для справки : ответ нулевой длины как правило означает,что сервер не понял запроса.

0
 



С нами с 07.01.04
Сообщения: 2868
Рейтинг: 1536

Ссылка на сообщениеДобавлено: 19/09/05 в 22:29       Ответить с цитатойцитата 

Вообще странички нет - ответ 302. Но заголовки есть, т.ч. ее размер не 0.

Тебе верно сказали нет переносов строк и в хосте почему fuckedfucked.com стоит? Вот так верно:

GET /freesites/realrussianboys/bestsite/index.htm HTTP/1.1\r\nHost: pornvulcan.com\r\nAccept-language: en-us\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\nConnection: close\r\n\r\n

.

3
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 19/09/05 в 22:38       Ответить с цитатойцитата 

kink писал:
Вообще странички нет - ответ 302. Но заголовки есть, т.ч. ее размер не 0.

Бро, не все соблюдают HTTP 1.x ;) , есть такие поверь мне.

0
 



С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096

Ссылка на сообщениеДобавлено: 19/09/05 в 22:57       Ответить с цитатойцитата 

mr.GOD писал:
urlencode()?
Для справки : ответ нулевой длины как правило означает,что сервер не понял запроса.


если сервер не понял запроса, то должен быть HTTP Error 400 Bad request. ответ нулевой длины скорее будет в случае, если сервер ожидает окончания запроса (часто из за того, в конце запроса забываем ставить двойной перенос строки, означающий конец заголовка). Либо еще вариант, когда до сервера запрос просто не доходит (неудачно или неправильно созданный сокет, не проверенный на валидность перед записью в него данных), но это уже локальная проблема и отвечающий сервер тут уже не причем.

Guest: а вот что ты проверки не делаешь?
Код:
$f=@fsockopen($domain,$port,$errno,$errstr,20);

очень шаткая инструкция, а ты сразу писать начинаешь... а если $f==false ? ты кстати проверь, а то может ты вообще послыаешь запросы неизвестно кому.

Кстати, используй вместо HTTP 1.1 - HTTP 1.0. там заморочек поменьше будет. может попутно и от проблемы избавишься.

И кстати, говоришь у 95% страниц все нормально. Напиши здесь урлы страниц которые нормально работают, и урлы, которые глючат. Насчет urlencode() правильно говорят.

3
 

НЕ ЗАНИМАЮСь ФИНАНСАМИ!

С нами с 16.03.03
Сообщения: 1251
Рейтинг: 653

Ссылка на сообщениеДобавлено: 20/09/05 в 08:52       Ответить с цитатойцитата 

Проверки на открытие сокетов стоят
Переносы тока последнего двойного не было - но его добавление не привело к успеху
urlencode() для относительного пути привели к 404
может у меня руки кривые?
но! если в моем исходном запросе поменять HTTP/1.1 на HTTP/1.0 сервак возвращет 200 кодicon_smile.gif и все вроде в шоколадеicon_smile.gif
последний вопрос - какая структура более корректная моя, или та, которую привел kink?

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 20/09/05 в 09:00       Ответить с цитатойцитата 

Значит ты криво запрос генерировал , что и требовалось вообщем-то доказать ...
kink тебе все правильно написал.

0
 



С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096

Ссылка на сообщениеДобавлено: 20/09/05 в 15:23       Ответить с цитатойцитата 

Код:
           
$data = "GET $url HTTP/1.0\r\n";
$data .= "Host: $host\r\n";
$data .= "Referer: $refurl\r\n";
$data .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;)\r\n";
$data .= "Connection: close\r\n";
$data .= "Accept-Language: en-us\r\n";
$data .= "\r\n";

0
 



С нами с 13.08.03
Сообщения: 533
Рейтинг: 481

Ссылка на сообщениеДобавлено: 20/09/05 в 20:41       Ответить с цитатойцитата 

webboxxx писал:
Код:
           
$data = "GET $url HTTP/1.0\r\n";
$data .= "Host: $host\r\n";

ну уже сходу ошибка - Host: появилось только в HTTP/1.1, так что некорректный запрос (Connection: кстати аналогично)
ты бы не мудрил, а выложил полный код и примеры урлов - тут работает, а вот тут нет
иначе телепатия сплошная

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »