Я пишу скрипт на Python, который должен определить, есть ли у него доступ в Интернет.
import urllib
CHECK_PAGE = "http://64.37.51.146/check.txt"
CHECK_VALUE = "true\n"
PROXY_VALUE = "Privoxy"
OFFLINE_VALUE = ""
page = urllib.urlopen(CHECK_PAGE)
response = page.read()
page.close()
if response.find(PROXY_VALUE) != -1:
urllib.getproxies = lambda x = None: {}
page = urllib.urlopen(CHECK_PAGE)
response = page.read()
page.close()
if response != CHECK_VALUE:
print "'" + response + "' != '" + CHECK_VALUE + "'" #
else:
print "You are online!"
Я использую прокси на своем компьютере, поэтому правильная обработка прокси важна.Если он не может подключиться к Интернету через прокси-сервер, он должен обойти прокси-сервер и посмотреть, не застрял ли он на странице входа (как это делают многие публичные точки доступа).С этим кодом, если я не подключен к Интернету, первый read () возвращает страницу с ошибкой прокси.Но когда я обхожу прокси после этого, я получаю ту же страницу.Если я пропускаю прокси ПЕРЕД выполнением каких-либо запросов, я получаю сообщение об ошибке, как и должно быть.Я думаю, что Python кеширует страницу с первого раза.
Как заставить Python очистить свой кеш (или это какая-то другая проблема)?