2015-12-03 65 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

相關問題