python axios unsafe header "Host"

葫芦的运维日志

下一篇 搜索 上一篇

2019/03/22 18:21


通过axios 从前台直接请求一个另外一个系统的后台接口,设置Header属性

{'Host': 'test.test.com'}

报错 unsafe header "Host"

查询百度得知是浏览器禁止设置部分headers属性:

w3c规定,不允许设置下面的请求头,为的是防止二次伪装请求,是出于安全考虑.
 Accept-Charset
  Accept-Encoding
  Connection
  Content-Length
  Cookie
  Cookie2
  Content-Transfer-Encoding
  Date
  Expect
  Host
  Keep-Alive
  Referer
  TE
  Trailer
  Transfer-Encoding
  Upgrade
  User-Agent
  Via

解决方法:

通过后台请求这个接口,前台再读取后台的接口得到所需数据。

def handle(self):
    url = 'http://test.test/query?from=1&count=10'
    req = urllib2.Request(url, headers={'Host': 'test.test.com'})
    data_rst = json.loads(urllib2.urlopen(req).read())['data']
    return data_rst

 

葫芦的运维日志

上一篇 搜索 下一篇
© 冰糖葫芦甜(bthlt.com) 2019 王梓 赞助联系方式 陕ICP备17005322号