0
我目前正在嘗試從頭開始爲我的django網站創建一個REST Web服務,並且我不想使用外部庫,因爲這應該是一種學習體驗。其中一個應用程序充當Web應用程序,另一個充當Web服務。我有很多關於如何實現Web服務和返回Http響應的例子,但問題是生成和發送http請求,我沒有一個例子。我希望我的應用程序發送一個http請求給接收它並作出響應的另一個應用程序。python中的HttpRequests沒有被django拾起
Web服務完全響應瀏覽器生成的請求。我只是在地址欄中寫入資源的地址,然後得到預期的響應。 我測試過使用python的內置urllib2的urlopen,但它會永遠掛起,可能是因爲套接字被佔用。我意識到我沒有指定超時,但我的擔心更多的是服務器永遠不會收到請求。沒有發生請求的日誌。代碼和瀏覽器中的網址是相同的。
django有沒有一種方法可以簡單地生成一個HttpRequest,並在沒有太多大驚小怪的情況下發送它?
#This is the offending line.
response = urllib2.urlopen('http://127.0.0.1:8000/api/browse/')
好的,urlopen在發送請求後進入等待模式,防止服務器響應。但我應該怎麼做呢?我希望不必在單獨的服務器上運行應用程序。 – Steinin
這只是開發服務器的限制,並不會在生產中發生。 –
我會接受你的回答。這不是我所尋找的,但仍然是一個正確的答案。我通過簡單地調用函數來跳過消息傳遞,同時仍然向HTTP請求提供Web服務。爲了確保那些工作,我使用了django測試模塊。 – Steinin