• HTTP请求头host解析


    Host: 域名

    Host表示请求的服务器网址;

     
    request headers中的host字段
    例如有user.xiaoqiang.com,hotel.xiaoqiang.com
    现在需要登录后去请求hotel.xiaoqiang.com的数据。
     
    在通过user.xiaoqiang.com/login.do登录成功后,要去请求hotel.xiaoqiang.com的数据。
     
    通过python模拟这些请求,需要模拟请求头:
    reqheaders={'Content-type':'application/x-www-form-urlencoded',  'Accept':'*/*',  'Host':'user.xiaoqiang.com',  'Origin':'http://user.xiaoqiang.com',  'Referer':'http://user.xiaoqiang.com/passport/login.jsp?ret=http%3A%2F%2Fuser.xiaoqiang.com%2Fuserinfo%2Findex.jsp',  'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1',}
     
    请求数据:
    reqdata={'username':'',  'password':'',  'loginType':'0', 'ret':'http://hotel.xiaoqiang.com/nprice/xiaoqiangtest/Query.jsp?cityurl=&fromDate=2014-03-22&toDate=2014-03-25&seq=beijing_city_2642&status=true','remember':0,'vcode':''}
     
    针对user.xiaoqiang.com/login.do登录,请求头中host就是user.xiaoqiang.com。
     
    在登录成功后,直接用登录请求的request headers 去请求hotel.xiaoqing.com的数据,此时服务器返回404,很郁闷,不知道到底是为什么。
     
     
    最后发现是,用于登录的request headers 里边的host是user.xiaoqiang.com,传到服务器以后,hotel.xiaoqiang.com不响应这个请求,所以说是404,就等于在user.xiaoqiang.com上边找不到hotel.xiaoqiang.com的请求
     
    在重新修改request headers里边的host为hotel.xiaoqiang.com,请求即可被hotel.xiaoqiang.com接受,服务器提供了服务,得到了正确的响应。
     
    综上所述,个人理解host字段是代表,你的请求将要达到那台主机,并会在服务端被验证,如果不符合,就不能正确处理客户端的请求。
  • 相关阅读:
    iOS 适配iPhoneX上tableHeaderView发生了高度拉伸、UI出现的空白间距
    无线加密WEP、WPA、WPA2及TKIP、AES
    字符替换操作
    jQuery版本升级问题汇总
    ipv6服务器及环境搭建
    git删除某次提交操作
    五种IO模型
    jQuery1.6以上attr改用prop
    线程创建pthread_create用法(转)
    网络字节序与主机字节序
  • 原文地址:https://www.cnblogs.com/liuweiqiang/p/3655741.html
Copyright © 2020-2023  润新知