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

社区

Java 帖子详情 模拟http请求什么状况下,状态值为200,但返回的response的数据为空? simon-hacker 2018-01-15 09:55:40 最近在用http模拟请求数据,发现前几天请求都是正常返回数据的,但是今天发现经常性出现返回状态码是200,但是response为空,偶尔才会有一次正常返回数据,请问造成这种现象主要可能原因是什么?是因为对方做了请求限制吗?

...全文

46944 13 打赏 收藏 模拟http请求什么状况下,状态值为200,但返回的response的数据为空? 最近在用http模拟请求数据,发现前几天请求都是正常返回数据的,但是今天发现经常性出现返回状态码是200,但是response为空,偶尔才会有一次正常返回数据,请问造成这种现象主要可能原因是什么?是因为对方做了请求限制吗? 复制链接

扫一扫 分享 转发到动态 举报 AI 作业

写回复 配置赞助广告取 消

确 定

用AI写文章 13 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 天行归来 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 打赏举报 回复 有可能服务器做了处理,不给你请求。 (待解决)java项目,nginx代理,请求200,但页面返回空白,响应体为空 nginx代理,请求200,但无返回 Fiddler打断点模拟HTTP请求或返回 在Web应用中,有些情况的HTTP返回比较难复现,这时候可以使用Fiddler工具打断点,手动返回不同的状态值,遍历所有情况;也可以模拟请求长时间无返回的情况,下面就讲下如何使用Fiddler这一工具完成这些测试:

1.设置断点是Fiddler最强大的功能,设置好断点后,你可以修改HTTPRequest的任何信息,包括host,cookie或者表单内容

(1)命令行:

bpu 在请... requests.get()返回状态码为200,但没有返回任何内容的解决方案 之后再用selenium模拟打开浏览器(用requests应该也是可以的),需要下载一个webdriver(这里以edge为例,Chrome或者其他浏览器也是可以的)应该是缺少了cookie导致的,使用cookie进行身份验证。 Postman模拟接口API:接收请求报文equest,响应返回固定报文response 打开Postman,点击左上角New,选择Mock server

在新弹出页面中设置请求模式,请求地址,请求状态码和请求返回内容,不过这些在之后都可以进行修改的。

填写这个模拟服务的名称,也是后面可以修改了。

然后一直点击下一步即可完成此次接口的初步设置。然后我们要让它运行起来。按照以下步骤一次点击,其中第四步为要创建的返回模板,这里可以添加多个模板,这里我们选择默认。

对新建的接口进行请求设置和相应设置。

设置返回的具体内容,这里可以对各种参数进行设置,最后ctrl+s保存。

然后选择自己新建的服务,然后 angular 中请求接口 ,返回码是200 ,但是回调走的是error 一般出现这种问题,一定要检查请求头里面的Content-Type,因为你的请求是成功的,但是代码没有走success的回调,说明你的接受类型和返回的数据类型不一致.

默认angular HttpClient请求的是json数据类型,但后台返回如果返回的是其他类型那么就出现这种现象了,所以我们在http.get()的方法中加入参数{‘responseType’:'text'}.

也可以直接...

Java

51,400

社区成员

85,901

社区内容

发帖 与我相关 我的任务 Java Java相关技术讨论 复制链接

扫一扫 分享 确定 社区描述 Java相关技术讨论 javaspring bootspring cloud 技术论坛(原bbs) 社区管理员

加入社区

获取链接或二维码

近7日

近30日

至今

加载中

查看更多榜单

社区公告

暂无公告 试试用AI创作助手写篇文章吧

+ 用AI写文章