我正在处理一个python脚本,该脚本使用URL返回的JSON。 由于几天urllib2返回(有时是)旧的JSON状态。 我确实添加了标题“Cache-Control”:“max-age = 0”等,但有时仍会发生。
如果我打印出我得到的请求信息:
Server: nginx/1.8.0
Date: Thu, 03 Sep 2015 17:02:47 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 3539
Status: 200 OK
X-XHR-Current-Location: /shop/169464.json
X-UA-Compatible: IE=Edge,chrome=1
ETag: "b1fbe7a01e0832025a3afce23fc2ab56"
X-Request-Id: 4cc0d399f943ad09a903f18a6ce1c488
X-Runtime: 0.123033
X-Rack-Cache: miss
Accept-Ranges: bytes
X-Varnish: 1707606900 1707225496
Age: 2860
Via: 1.1 varnish
Cache-Control: private, max-age=0, must-revalidate
Pragma: no-cache
X-Cache: HIT
X-Cache: MISS from adsl
X-Cache-Lookup: MISS from adsl:21261
Connection: close
是否与标题“Age”或“X-Cache-Rack”有关?或者我可以解决它的任何想法?
提前感谢!
答案 0 :(得分:0)
尝试伪造用户代理,删除cookie,删除会话。
fake_user_agent = ['chrome','firefox','safari']
request = urllib2.Request(url)
request.add_header('User-Agent', get_random(fake_user_agent))
content = urllib2.build_opener().open(request)
如果一切都不起作用,那么尝试使用tor来根据请求更改ip。
如果什么都不起作用,那么你就无法绕过它,因为你肯定是连接到透明代理