要加入 Header,需要使用 Request 对象:
class Request: def __init__(self, url, data=None, headers={}, origin_req_host=None, unverifiable=False):
import urllib2 header = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'} request = urllib2.Request(url='http://www.iteedu.com',headers=header) response = urllib2.urlopen(request)
import urllib2 request = urllib2.Request('http://www.iteedu.com') request.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6') response = urllib2.urlopen(request)
headers 初始化为{} ,所有如果连续执行两次req.add_header( "Cookie" , "aaa=bbbb" ) , 则后面的值会把前面的覆盖掉。
对有些 header 要特别留意,Server 端会针对这些 header 做检查
常见的取值有:
在使用 RPC 调用 Server 提供的 RESTful 或 SOAP 服务时, Content-Type 设置错误会导致 Server 拒绝服务。