遇到一个case,抓包之后丢进postman无法正常拿到数据,使用curl和requests时也无法正常取到数据。而java,go,python的http.client库可以正常取到数据。
当url和headers相同时,不同库的请求拿到结果不同。对requests和http.client请求抓包进行对比。headers一个个看过去发现requests多了一个accept请求头,那accept请求头是在哪里加上的呢。
requests在创建Request对象的时候,对于对象中的headers属性会合并自己默认的几个属性,而加上了accept请求头字段。
然后在请求头中设置accept为None,就能正常的请求到数据了。