2015-12-03 50 views
1

我有我的Web应用程序API运行。使用Python请求GET不起作用 - Web客户端和浏览器工作

如果我通过任何浏览器去http://127.0.0.1:5000/我得到正确的答案。

如果我使用高级REST客户端Chrome应用并向该地址的应用发送GET请求,我会得到正确的响应。

但是这给了我一个503:

import requests 
response = requests.get('http://127.0.0.1:5000/') 

我读尝试一下本作的一些原因:

s = requests.Session() 
response = s.get('http://127.0.0.1:5000/') 

但我仍然获得了503响应。

其他的事情我已经尝试:与HTTP不前缀://,而不是使用URL中的端口,不同的端口上运行,试图像帖子不同的API调用等

感谢。

+0

您是否尝试设置用户代理? – davejagoda

+0

这样的? requests.get('http://127.0.0.1:5000/,headers = {'User-Agent':'something'})我会怎样设置它? – Village

+0

很难确定,但每个人都喜欢冒充Mozilla:'header = {'User-Agent':'Mozilla/5.0'}' – davejagoda

回答

0

为防万一有人在为此付出努力,最后的工作是在本地网络ip上运行应用程序。

即,我刚刚打开了网络应用程序,并将app.run(debug = True)行更改为app.run(host =“my.ip.address”,debug = True)。

我猜请求库可能是试图保护我免受本地主机攻击?或者我们的公司代理或防火墙阻止了来自未知应用程序的通信到127地址。我将NO_PROXY设置为包含127.0.0.1地址,所以我不认为这是问题所在。最后我不确定为什么它现在正在工作,但我很高兴它是。

1

http://127.0.0.1:5000/你的本地主机?如果是这样,请尝试使用'http://localhost:5000'而不是

+0

这是我的本地主机。我尝试了你说的话,现在我得到了404。 – Village

+0

我很好奇,如果你做了'http:// www.google.com',你会得到什么吗? – dphamcc

+0

是的。它返回200(好的/成功) – Village

相关问题