charles的请求数据包在postman上无法获得数据

遇到的问题:

charles上的请求经过compose重发,并且有响应数据,但是将请求导出,移植到python代码或者是postman里面,始终报签名错误

 

解决过程:

因为headers的字段中带有冒号

类似

:method:post

:scheme: https

而带有冒号的字段是违反http协议的

带有冒号是http2的标准,所有python的requests库会直接报错,并且我也尝试了通过hyper进行转换,但是行不通,所有我就将headers字段中的冒号去掉了。

让我一度怀疑是否真的是签名出了问题,难道是将所有的headers字段中的一部分一起做签名,而代码里面的headers去掉了冒号,直接导致签出的sign值有所改变,所有服务端拒绝了。

 

最终解决方法:

原来charls中的body raw如下

body=%7B%22allLastTime%22%3A%220%22%2C%22barHeight%22%3A%2272%22%2C%22cycFirstTimeStamp%22%3A%221577267540470%22%2C%22cycNum%22%3A1%2C%22displayVersion%22%3A%228.0.0%22%2C%22fQueryStamp%22%3A%221577268411516%22%2C%22fringe%22%3A%221%22%2C%22geo%22%3A%22Iox15QNUfZ6i2hh6U3Jv7bZbnaH68QIf2xItEIee7FOpDVth34cgdEAhx%252BQOPcYw%22%2C%22geoLast%22%3A%22Wg84QX%252BhUt6jXYgbFCNQtiIqvakxlESzRfLgLuo9RCN%252BcxKXWGP7nwPbxEw5aUUu2x3S9al1LfEQ7WqC0OrWx5stmQYkRVPpCSKVEIBHehU%253D%22%2C%22homeAreaCode%22%3A%220%22%2C%22identity%22%3A%22352584065504034-34fceff43fb7%22%2C%22tSTimes%22%3A%222%22%7D

 

所有在用postman的时候 body部分要这么写

通过key-value输入body方法如下

key栏填写 body

value 栏填写urldecode后的内容,即:

{"allLastTime":"0","barHeight":"72","cycFirstTimeStamp":"1577267540470","cycNum":1,"displayVersion":"8.0.0","fQueryStamp":"1577268411516","fringe":"1","geo":"Iox15QNUfZ6i2hh6U3Jv7bZbnaH68QIf2xItEIee7FOpDVth34cgdEAhx%2BQOPcYw","geoLast":"Wg84QX%2BhUt6jXYgbFCNQtiIqvakxlESzRfLgLuo9RCN%2BcxKXWGP7nwPbxEw5aUUu2x3S9al1LfEQ7WqC0OrWx5stmQYkRVPpCSKVEIBHehU%3D","homeAreaCode":"0","identity":"352584065504034-34fceff43fb7","tSTimes":"2"}

即可拿到数据

 

通过批量编辑(Bulk Edit )输入body方法如下

body:{"allLastTime":"0","barHeight":"72","cycFirstTimeStamp":"1577267540470","cycNum":1,"displayVersion":"8.0.0","fQueryStamp":"1577268411516","fringe":"1","geo":"Iox15QNUfZ6i2hh6U3Jv7bZbnaH68QIf2xItEIee7FOpDVth34cgdEAhx%2BQOPcYw","geoLast":"Wg84QX%2BhUt6jXYgbFCNQtiIqvakxlESzRfLgLuo9RCN%2BcxKXWGP7nwPbxEw5aUUu2x3S9al1LfEQ7WqC0OrWx5stmQYkRVPpCSKVEIBHehU%3D","homeAreaCode":"0","identity":"352584065504034-34fceff43fb7","tSTimes":"2"}

即可拿到数据

如果想要抓包数据移植到代码中,建议使用charles提供的方法,点击该请求,右键,copy curl request(复制curl),然后通过一些在线的网站对curl request 做相应的转换,可以转为py, java等

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值