美文网首页
postman采坑记录

postman采坑记录

作者: 7d972d5e05e8 | 来源:发表于2020-11-14 23:57 被阅读0次

一、charles抓包,postman重放

参考文章:从charles等抓包工具中请求地址复制为CURL粘贴至postman可直接生成接口请求

1、右键请求 -> Copy cURL Request。得到curl的格式的请求数据

image.png

2、然后去postman导入这个curl的数据

image.png

3、然后粘贴到Raw text

image.png

最后一个postman的请求就构造出来了。

二、postman请求失败,curl请求成功

我的问题现象就是postman构造出来的请求,用postman直接请求一直报400,但是通过curl就可以正确的访问。

问题就出在header身上,我发现hostman的请求header里面没有host,并且生成的curl的指令,也没host。那么为啥两个都没host字段的请求,postman请求失败,curl就成功呢?

猜测:curl会不会自动添加上域名作为host呢?网上也没收到答案,解决方案就是在postman的header中添加host,然后postman和curl都能请求成功。

三、同一个Curl命令,POST请求,不同客户端请求不一样。
背景:相同的curl命令,用云容器发起和本地mac发起,对于get请求没啥问题。但是对于POST请求mac本地ok,云容器发起能找到服务,但是post请求的body丢失,导致spring mvc处理失败。

发现过程:
1、云容器发起post请求,提示body is missing。然后试试本地发起,请求ok
2、使用curl -v 测试请求的详细过程进行比较。本地mac解析443端口是ip:255.96,而容器实例解析443端口是199.49。说明两个客户端在发起域名请求的时候,解析的nginx服务器不是同一个。
问题就显而易见了,容器实例访问的nginx,在转发post请求的时候,丢失了body信息,导致所有post请求在打到spring mvc后,拿不到body。

解决方案:可以参考http://linux.it.net.cn/m/view.php?aid=1514。修改nginx的配置,已经提给运维。

另外的解决:用postman得到curl,每个header后面默认加上 \,这个格式有些客户端不认。比如:mac的iterm和linux客户端

相关文章

  • postman采坑记录

    一、charles抓包,postman重放 参考文章:从charles等抓包工具中请求地址复制为CURL粘贴至po...

  • SpringBoot 用postman接口测试,RequestB

    记录下自己采坑的过程,仅供自己使用 postman界面 请求的控制器

  • 采坑记录

    一、访问页面报502错误 常见问题: 最大可能是应用启动报错,没有启动起来 应用虽然起来了,但是由于遇到运行时er...

  • element 复选框点击一个全部选中bug

    因为有坑记录下先给出代码在细说 别的我就不说了,采坑记录下。

  • arraylist采坑记录

    而最近,看到一个以前的同学写的一段代码就是在循环过程中删除元素,我很是纳闷啊。然后后来决定给他改掉。然后引发了另外...

  • iOS采坑记录

    采坑记录 iOS 通过 Webview点击下载链接问题 Webview点击下载链接,需要通过文件名下载文件,需要通...

  • RecyclerView采坑记录

    今天使用RecyclerView过程中遇到了坑,RecyclerView的条目中既有checkbox,又有edit...

  • swagger采坑记录

    一、swagger-ui.html正常显示但doc.html空白 注意:我的doc.html不是404,说明在后端...

  • Flutter采坑记录

    在 Flutter 开发中遇到的一些 BUG,避免遗忘,记录一下,如果正在看文章的你也遇到了,那激动的心,颤抖的手...

  • TextSnake采坑记录

    一、提示错误: RuntimeError: Cannot re-initialize CUDA in forked...

网友评论

      本文标题:postman采坑记录

      本文链接:https://www.haomeiwen.com/subject/cvugbktx.html