首页 > 代码库 > Python设置Headers

Python设置Headers

Python设置Headers

import urllib  import urllib2  url = ‘http://www.server.com/login‘user_agent = ‘Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)‘  values = {‘username‘ : ‘cqc‘,  ‘password‘ : ‘XXXX‘ }  headers = { ‘User-Agent‘ : user_agent }  data = http://www.mamicode.com/urllib.urlencode(values)  >

  

这样,我们设置了一个headers,在构建request时传入,在请求时,就加入了headers传送,服务器若识别了是浏览器发来的请求,就会得到响应。

另外,我们还有对付”反盗链”的方式,对付防盗链,服务器会识别headers中的referer是不是它自己,如果不是,有的服务器不会响应,所以我们还可以在headers中加入referer

例如我们可以构建下面的headers

headers = {    ‘User-Agent‘: ‘Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)‘,    ‘Referer‘: ‘http://www.zhihu.com/articles‘}

另外headers的一些属性,下面的需要特别注意一下:

  1. User-Agent : 有些服务器或 Proxy 会通过该值来判断是否是浏览器发出的请求
  2. Content-Type : 在使用 REST 接口时,服务器会检查该值,用来确定 HTTP Body 中的内容该怎样解析。
  3. application/xml : 在 XML RPC,如 RESTful/SOAP 调用时使用
  4. application/json : 在 JSON RPC 调用时使用
  5. application/x-www-form-urlencoded : 浏览器提交 Web 表单时使用
  6. 在使用服务器提供的 RESTful 或 SOAP 服务时, Content-Type 设置错误会导致服务器拒绝服务

 

Python设置Headers