人云亦云yi 发表于 2021-8-4 00:18

关于requests,发请求后,print(response)返回<Response [200]>

但是同样的代码,print(response.text)就返回{"msg":"未知异常,请联系管理员","code":500}{:301_971:}
求助懂的老师提点一下,谢谢啦
刚试了status_code也是200{:301_973:}

Teachers 发表于 2021-8-4 00:55

请求的不对

人云亦云yi 发表于 2021-8-4 04:51

Teachers 发表于 2021-8-4 00:55
请求的不对

请求成功却.text方法失败的情况您了解吗?代码很简单。
我请求的url是一个dologin的链接,输了所有参数和header包括验证码,模拟登录已经成功了。抓包到正常返回的response应该是一个json。但是response.json()也提示一样的错误。这下把我整懵了。

细水流长 发表于 2021-8-4 05:53

laos 发表于 2021-8-4 06:50

两者并不一样

http status_code 200只是说明这个服务状态正常

三滑稽甲苯 发表于 2021-8-4 06:50

本帖最后由 三滑稽甲苯 于 2021-8-4 06:51 编辑

如果返回数据是错误的,那就是你的请求方式有误,比如说少了某个/些值之类的

三滑稽甲苯 发表于 2021-8-4 06:52

人云亦云yi 发表于 2021-8-4 04:51
请求成功却.text方法失败的情况您了解吗?代码很简单。
我请求的url是一个dologin的链接,输了所有参数 ...

你这个不是python的报错,是请求的系统返回的错误

woflant 发表于 2021-8-4 07:41

这搞混淆了,请求成功是成功了,只不过服务器上确是非法请求,所以服务器成功响应,并返回异常信息

卧槽,文字功底不行,凑活看吧?

gentlespider 发表于 2021-8-4 07:51

不要以状态码来判定是否请求回来你想要的数据,也有是302的给正常返回数据呢

13286246768 发表于 2021-8-4 08:49

状态码200只是代表请求成功,不代表你传的内容是符合接口的标准,不能仅仅用响应状态码判断该接口请求成功否。。。
比如登录接口,我传一个错的密码,状态码依旧是200,但是响应内容里却是登录失败code500;你懂了吧?
页: [1] 2 3
查看完整版本: 关于requests,发请求后,print(response)返回<Response [200]>