python axios unsafe header "Host"

葫芦的运维日志

浏览量 4629 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) 2025 王梓打赏联系方式陕ICP备17005322号-1