вопрос прокси на Python Mechanize - PullRequest
       27

вопрос прокси на Python Mechanize

0 голосов
/ 09 февраля 2010

У меня есть механизированная настройка и работа с питоном. Я добавляю поддержку для использования прокси, но как мне проверить, что я на самом деле использую прокси?

Вот код, который я использую:

ip = 'some proxy ip address'
br.set_proxies({"http://": ip} )

Я начал задумываться, работает ли он, потому что просто для тестирования я набрал:

ip = 'asdfasdf'

и это не выдало ошибку. Итак, как мне проверить, действительно ли он использует IP-адрес для прокси-сервера, который я передаю, или IP-адрес моего компьютера? Есть ли способ вернуть информацию о вашем IP в механизировать?

Ответы [ 2 ]

2 голосов
/ 03 октября 2010

может быть так?

br = mechanize.Browser()
br.set_proxies({"http": '127.0.0.1:80'})

вам нужно отладить для получения дополнительной информации

br.set_debug_http(True)
br.set_debug_redirects(True)
0 голосов
/ 16 марта 2010

Я не уверен, как решить эту проблему с помощью mechanize, но вы можете прочитать следующую ссылку, которая объясняет, как сделать это без механизации (но все еще в python):

Проверка прокси в python

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

Таким образом, вместо строки:

print "Connection error! (Check proxy)"

вы можете заменить на

SucceededYesNo="NO"

и вместо

print "All was fine"

просто заменить на

SucceededYesNo="YES"

Теперь у вас есть переменная для дальнейшей обработки.

Я, однако, боюсь, что это не охватит случаи, когда целевая веб-страница не работает, потому что одна и та же ошибка может возникать по двум причинам (поэтому нельзя было бы знать, приходит ли НЕТ результат с неработающего прокси-сервера или с плохая веб-страница), но все же может быть решение: что проверить с помощью вышеупомянутого кода работающую веб-страницу? то есть www.google.com? Таким образом, вы можете устранить одну причину, а она останется другой.

...