卷曲有效,但Python请求无效

Shagun Sodhani

我正在尝试从http://erdos.sdslabs.co/users/shagun.json获取JSON响应使用浏览器/ Python的Requests库会导致身份验证错误,但是curl似乎可以正常工作。

curl http://erdos.sdslabs.co/users/shagun.json 

返回JSON响应。

为什么普通浏览器或基于请求的请求失败时,curl请求将起作用?

西蒙·弗雷泽

使用telnet检查:

$ telnet erdos.sdslabs.co 80
Trying 62.141.37.215...
Connected to erdos.sdslabs.co.
Escape character is '^]'.
GET http://erdos.sdslabs.co/users/shagun.json HTTP/1.0

HTTP/1.1 302 Found
Date: Sat, 26 Jul 2014 11:18:58 GMT
Server: Apache
Set-Cookie: PHPSESSID=juvg7vrg3vs4t00om3a95m4sc7; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: /login
Access-Control-Allow-Origin: http://erdos.sdslabs.co
X-Powered-By: PleskLin
Content-Length: 1449
Connection: close
Content-Type: application/json

{"email":"[email protected]","username":"shagun","name":"Shagun      
[...]

我们看到Web服务器正在响应302-重定向到Location / login。请求和Web浏览器正在遵循该要求,并到达登录提示。但是,我们看到Web服务器用您需要的json进行响应,并且curl(和telnet)非常简单,只接受该数据即可。

最佳实践是修复Web服务器,使其既不需要您登录,也不会在要求用户登录的同时不提供受密码保护的数据。

如果您无法更改Web服务器,则可以告诉请求模块忽略重定向:

import requests
result = requests.get('http://erdos.sdslabs.co/users/shagun.json', allow_redirects=False)
print result.content

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Post Request有效但不能卷曲

来自分类Dev

对 HTTPS 的请求有效,而对 HTTP 的请求无效

来自分类Dev

IN有效,但NOT IN无效

来自分类Dev

Python请求在控制台中有效,但在应用程序中无效

来自分类Dev

进行数千次卷曲请求的有效方法

来自分类Dev

cURL XML POST有效但Python请求无效-第三方专家评级API(带有示例)

来自分类Dev

有效的 xpath 无效

来自分类Dev

jQuery ajax请求有效,相同的AngularJS ajax请求无效

来自分类Dev

Google Maps API在有效请求中返回“无效请求”

来自分类Dev

Google Maps API在有效请求中返回“无效请求”

来自分类Dev

在HTTPS和Tomcat上,GET请求有效,但POST请求无效

来自分类Dev

laravel_token 对第一个请求有效,但对后续请求无效

来自分类Dev

regEx在notepad ++中有效,但在python中无效

来自分类Dev

Python 代码有效,相同的 Java 代码无效

来自分类Dev

无法ping或卷曲* .local域,但是nslookup有效

来自分类Dev

python请求:重试直到收到有效响应

来自分类Dev

Python Rauth - POST 请求是否有效?

来自分类Dev

大量发布请求在浏览器中有效,但在应用程序中无效

来自分类Dev

用户数据库-有效和无效的请求

来自分类Dev

Spring Boot-POST请求方法无效,但GET有效

来自分类Dev

Android Volley请求在模拟器中有效,但在设备中无效

来自分类Dev

redash GET请求在POSTMAN上有效,但在axios上无效

来自分类Dev

当请求模型实际上无效时,ModelState有效

来自分类Dev

用户数据库-有效和无效的请求

来自分类Dev

相同的请求在 Fiddler 中有效,但在 Requets 中无效

来自分类Dev

Http 请求在 PostMan 中有效,但在 JS 中无效

来自分类Dev

卷曲到python。无效的请求格式:意外字符

来自分类Dev

有效的UID对kill命令无效

来自分类Dev

有效负载无效的JSON

Related 相关文章

  1. 1

    Python Post Request有效但不能卷曲

  2. 2

    对 HTTPS 的请求有效,而对 HTTP 的请求无效

  3. 3

    IN有效,但NOT IN无效

  4. 4

    Python请求在控制台中有效,但在应用程序中无效

  5. 5

    进行数千次卷曲请求的有效方法

  6. 6

    cURL XML POST有效但Python请求无效-第三方专家评级API(带有示例)

  7. 7

    有效的 xpath 无效

  8. 8

    jQuery ajax请求有效,相同的AngularJS ajax请求无效

  9. 9

    Google Maps API在有效请求中返回“无效请求”

  10. 10

    Google Maps API在有效请求中返回“无效请求”

  11. 11

    在HTTPS和Tomcat上,GET请求有效,但POST请求无效

  12. 12

    laravel_token 对第一个请求有效,但对后续请求无效

  13. 13

    regEx在notepad ++中有效,但在python中无效

  14. 14

    Python 代码有效,相同的 Java 代码无效

  15. 15

    无法ping或卷曲* .local域,但是nslookup有效

  16. 16

    python请求:重试直到收到有效响应

  17. 17

    Python Rauth - POST 请求是否有效?

  18. 18

    大量发布请求在浏览器中有效,但在应用程序中无效

  19. 19

    用户数据库-有效和无效的请求

  20. 20

    Spring Boot-POST请求方法无效,但GET有效

  21. 21

    Android Volley请求在模拟器中有效,但在设备中无效

  22. 22

    redash GET请求在POSTMAN上有效,但在axios上无效

  23. 23

    当请求模型实际上无效时,ModelState有效

  24. 24

    用户数据库-有效和无效的请求

  25. 25

    相同的请求在 Fiddler 中有效,但在 Requets 中无效

  26. 26

    Http 请求在 PostMan 中有效,但在 JS 中无效

  27. 27

    卷曲到python。无效的请求格式:意外字符

  28. 28

    有效的UID对kill命令无效

  29. 29

    有效负载无效的JSON

热门标签

归档