2013-09-22 1 views
1

У меня есть приложение, которое хорошо работало на обоих GAE и тестовом сервере до нескольких дней назад. Он подключается к удаленному сайту, автоматически регистрирует и просматривает страницы и вводит информацию. Удаленный сайт использует динамические URL-адреса, чтобы следить за сеансом, каждая страница дает ссылку для следующего вызова. Программа очень проста: urllib2.urlopen, затем regexp, чтобы извлечь следующий ключ url, затем новый вызов urllib2.urlopen и т. Д.Утилита urllib2 для Python: работает локально, но не при развертывании в GAE

Теперь мое приложение все еще отлично работает на тестовом сервере, но не работает при развертывании в GAE: у меня есть серия вызовов urllib2.open и большую часть времени, на удаленном сайте говорится, что он потерял сеанс уже во втором вызове но 1/10 я мог пойти на третий вызов, и как только GAE успешно завершит четвертый звонок.

Это, как представляется, указывает на то, что проблема с удаленным сайтом (который не изменился) не является проблемой безопасности, а также вопрос о перенаправлении и куки, которые я прочитал в других сообщениях.

Пользователи сообщили мне, что он работал хорошо до 14 сентября 13, и неудача была сообщена мне 20-го числа. Было ли изменение в обработке URLfetch в GAE недавно?

Я только что потратил 2 дня на проблему без материальной подсказки.

Возможно, это вопрос IP-адреса? Удаленный сервер может управлять сеансом с IP-адресом и динамическимURL вместе, и я могу представить, что GAE не гарантирует, что в одном и том же вызове GAE все вызовы URLlib обрабатываются одним и тем же компьютером? Это может объяснить, почему иногда это работает для двух или трех последовательных URL-адресов. Я не знаю достаточного внутреннего механизма GAE для подтверждения.

Благодарим вас за ваши идеи.

ответ

0

Мы не гарантируем, что urlfetch звонки будут проходить по одному и тому же IP-адресу.

+0

спасибо. Будет ли техническое объяснение, что URLFetch изменит свой способ работы в последнее время? В одно и то же время я переключился на предложение оплаты, может ли это объяснить это? – frank

+0

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

+0

Время от времени у меня была какая-то проблема, но кажется, что 9/10 из выборки были сделаны на том же сервере (в короткое время последовательности), и теперь только шанс иметь другую выборку сервера - это 9 на 10 (за тот же короткий период). Я понимаю, что я должен использовать другую услугу, чтобы получить гарантию пребывания на одном сервере. Большое спасибо за ваши знания. – frank

Смежные вопросы