模拟http请求什么状况下,状态值为200,但返回的response的数据为空?

simon-hacker 2018-01-15 09:55:40
最近在用http模拟请求数据,发现前几天请求都是正常返回数据的,但是今天发现经常性出现返回状态码是200,但是response为空,偶尔才会有一次正常返回数据,请问造成这种现象主要可能原因是什么?是因为对方做了请求限制吗?
...全文
40214 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
天行归来 2019-12-25
  • 打赏
  • 举报
回复
引用 13 楼 add_bt 的回复:
我最近也遇到这个问题,解决过程详细如下: 我的Post请求url格式为: http://xxx.xxx.com/xxxx/xxxx?id=xxx ,很明显,我需要传一个参数id,刚开始我传参数的是这样写的: 示例如下: Parameter para=new Parameter("id","111111"); xxx.Post("http://xxx.xxx.com/xxxx/xxxx?id={0}",para) 通过这种方式传参并获取,一直都获取不到,返回结果为null,于是纠结了很久,最后也是自己调试,偶然的换了一种写法,如下: Parameter para=new Parameter("id","111111"); xxx.Post("http://xxx.xxx.com/xxxx/xxxx?id=111111",para) 返回结果成功!获取到了post之后的结果。 但是这样写也是令我无法解释,也都是本来是按照para的方式来传参的,但是实际请求时已经带了参数,另外还传了一次参数。 如果有大神能帮我答疑解惑,也欢迎回复,非常感谢!
用postman,content-type 设置成 application/x-www-form-urlencoded 试下是否正常。
麦歌巴巴 2019-12-25
  • 打赏
  • 举报
回复 1
我最近也遇到这个问题,解决过程详细如下: 我的Post请求url格式为: http://xxx.xxx.com/xxxx/xxxx?id=xxx ,很明显,我需要传一个参数id,刚开始我传参数的是这样写的: 示例如下: Parameter para=new Parameter("id","111111"); xxx.Post("http://xxx.xxx.com/xxxx/xxxx?id={0}",para) 通过这种方式传参并获取,一直都获取不到,返回结果为null,于是纠结了很久,最后也是自己调试,偶然的换了一种写法,如下: Parameter para=new Parameter("id","111111"); xxx.Post("http://xxx.xxx.com/xxxx/xxxx?id=111111",para) 返回结果成功!获取到了post之后的结果。 但是这样写也是令我无法解释,也都是本来是按照para的方式来传参的,但是实际请求时已经带了参数,另外还传了一次参数。 如果有大神能帮我答疑解惑,也欢迎回复,非常感谢!
weixin_40290083 2019-06-18
  • 打赏
  • 举报
回复
抓包看看,如果抓包能看到数据,而你的应用没有数据就说明你的应用逻辑有问题
天行归来 2019-06-18
  • 打赏
  • 举报
回复
引用 9 楼 qq_33005839 的回复:
您好,我想请问这个问题最后怎么解决的?我的response是200,然后去网页上面看,json不是空的,但是,我的response.text是空的,而且情况是,十次有九次是空的,有一次不是空的。
可以用 fiddler 抓包分析下头,或者浏览器本身也可以分析请求头,服务端如果有根据请求头做一些约束,比如 referer,你的模拟报文也应该加上这些参数。
qq_33005839 2019-06-18
  • 打赏
  • 举报
回复 2
您好,我想请问这个问题最后怎么解决的?我的response是200,然后去网页上面看,json不是空的,但是,我的response.text是空的,而且情况是,十次有九次是空的,有一次不是空的。
yaltach 2018-06-28
  • 打赏
  • 举报
回复
是不是没有做跨域?
Abin0406 2018-01-23
  • 打赏
  • 举报
回复
200状态码只能说明你本次的HTTP请求是正常的,不能说明response中是否有数据,如果后端有异常发生并且被catch了,response就有可能是空
柯南在写代码 2018-01-22
  • 打赏
  • 举报
回复
应该是返回的东西就是空的
simon-hacker 2018-01-16
  • 打赏
  • 举报
回复
引用 2 楼 shayongjie 的回复:
也有可能返回的内容就是空
之前访问每次都是有返回结果的 今天访问是偶尔才有返回结果,搞不懂为什么会这样子
simon-hacker 2018-01-16
  • 打赏
  • 举报
回复
引用 1 楼 oyljerry 的回复:
有可能服务器做了处理,不给你请求。
我用postman等方式也是经常性返回为空,但是如果连接直接放在地址栏就是访问正常的
Java批发 2018-01-16
  • 打赏
  • 举报
回复
200 的状态是正常的吧 只有返回来的值是空 你看看是不是本身有的数据就是空的 你调试下 打断点跟进看下
喜氏天狼 2018-01-15
  • 打赏
  • 举报
回复
也有可能返回的内容就是空
oyljerry 2018-01-15
  • 打赏
  • 举报
回复
有可能服务器做了处理,不给你请求。

50,544

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧