python自动重新访问而不更改cookie

时间:2014-01-31 05:07:07

标签: python html cookies

访问特定网站时遇到问题 网站自动重定向到检查页面,显示“检查您的浏览器”
Check页面首次返回HTTP 503错误 然后Web浏览器(chrome,IE等)再次自动重新访问 最后我可以进入网站。

问题是我想用Python访问网站。 所以我使用urllib和urllib2。

u = urllib.open(url)
print u.read()

与urllib2相同,但它不起作用,引发503错误 urllib也获取HTTP 503代码,但不会引发错误。

所以我需要在不更改cookie的情况下重新访问

u = urllib.open(url)
u = urllib.open(url) ## cookie is changed
print u.read()

我只是尝试两次调用open函数。但是cookie被改变了,它不起作用 (再次检查页面)

所以我使用urllib2和cooklib

import os.path
cj = None
ClientCookie = None
cookielib = None

import cookielib
import urllib2
cj = cookielib.LWPCookieJar()

if os.path.isfile('cookie.lpw'):
    cj.load('cookie.lpw')

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener(opener)

theurl = url
txdata = None
txheaders = {'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'}

req = urllib2.Request(theurl, txdata, txheaders)
handle = urllib2.urlopen(req) ## error raised 

错误代码

Traceback (most recent call last):
  File "<pyshell#20>", line 1, in <module>
    handle = urlopen(req)
  File "C:\Python27\lib\urllib2.py", line 127, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\Python27\lib\urllib2.py", line 410, in open
    response = meth(req, response)
  File "C:\Python27\lib\urllib2.py", line 523, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python27\lib\urllib2.py", line 448, in error
    return self._call_chain(*args)
  File "C:\Python27\lib\urllib2.py", line 382, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 531, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 503: Service Temporarily Unavailable

我只是想在没有更改cookie的情况下获得HTTP 503错误时重新访问该站点 但我不知道该怎么办。
有人帮帮我。

0 个答案:

没有答案