Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 8, 2014 17:35:28

erebus
Зарегистрирован: 2014-01-07
Сообщения: 15
Репутация: +  1  -
Профиль   Отправить e-mail  

urllib.request.urlopen(link).read() ничего не возвращает

Всегда при работе с urllib.request.urlopen(link).read() все было хорошо, но вот при попытке загрузить страницу:http://dprc.gov.ua/trip-info.php?segment_id=c19121f0-bb21-b708-00c9-00313638ca00 получаю в результате:“b'\n'” и все. на остальных ссылках все работает (в т. ч. и с этого сайта). Проблема именно с запросами к trip-info.php
Вот код:
import urllib.request
s = urllib.request.urlopen(
"http://dprc.gov.ua/trip-info.php?segment_id=c19121f0-bb21-b708-00c9-00313638ca00").read()
print(s)
Пробовал на Делфи через idHttp1.get таже беда.
В чем может быть проблема?

Отредактировано erebus (Фев. 8, 2014 17:36:30)

Офлайн

#2 Фев. 8, 2014 17:54:13

PanovSergey
От: Екатеринбург
Зарегистрирован: 2013-12-29
Сообщения: 269
Репутация: +  19  -
Профиль   Адрес электронной почты  

urllib.request.urlopen(link).read() ничего не возвращает

В чем может быть проблема?
Так и браузером пусто, откуда ссылка то? Как ее вы сформировали?

Офлайн

#3 Фев. 8, 2014 18:17:21

erebus
Зарегистрирован: 2014-01-07
Сообщения: 15
Репутация: +  1  -
Профиль   Отправить e-mail  

urllib.request.urlopen(link).read() ничего не возвращает

PanovSergey
Это ваша ссылка или подобная ей: http://python.su/forum/post/123017/
И вправду, после полной очистки браузера: куков, хеша и т.д. - страница пустая.
Оказывается в куках отправляеться параметр:“PHPSESSID=ххххххххххххххххххх;”
если сначало перейти по ссылке http://dprc.gov.ua/show.php?transport_type=2&src=22200001&dst=22210800&dt=2014-02-09&ret_dt=2001-01-01&ps=ec_privat
тогда исходная ссылка открываеться без проблем.
В питоне добавил куки с этим параметром - все заработало.
Насколько я понял PHPSESSID это id сессии пользователя, но как узнать какой у него срок годности?

Отредактировано erebus (Фев. 8, 2014 19:05:55)

Офлайн

#4 Фев. 8, 2014 19:06:55

PanovSergey
От: Екатеринбург
Зарегистрирован: 2013-12-29
Сообщения: 269
Репутация: +  19  -
Профиль   Адрес электронной почты  

urllib.request.urlopen(link).read() ничего не возвращает

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

Офлайн

#5 Фев. 8, 2014 19:09:45

erebus
Зарегистрирован: 2014-01-07
Сообщения: 15
Репутация: +  1  -
Профиль   Отправить e-mail  

urllib.request.urlopen(link).read() ничего не возвращает

PanovSergey
Спасибо, так и сделаю.

Тему можно считать закрытой.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version