我目前正在尝试从头开始为我的django网站创建一个REST Web服务,我不想使用外部库,因为这应该是一种学习体验。我的一个应用程序充当Web应用程序,而另一个应用程序充当Web服务。我有很多关于如何实现Web服务并返回Http响应的示例,但问题是生成并发送http请求,我没有其中的示例。我希望我的应用程序将http请求发送到接收它并响应的其他应用程序。
Web服务完全响应浏览器生成的请求。我只是在地址栏中写下资源的地址,然后得到预期的响应。 我已经测试过使用python的内置urllib2的urlopen但它会永远挂起,可能是因为套接字被占用了。我确实意识到我没有指定超时,但我更关心的是服务器永远不会收到请求。没有发生请求的日志。代码和浏览器中的网址相同。
django中有没有办法简单地生成一个Httprequest并在没有大惊小怪的情况下发送它?
#This is the offending line.
response = urllib2.urlopen('http://127.0.0.1:8000/api/browse/')
答案 0 :(得分:2)
这只是因为开发服务器是单线程的。它不能同时响应来自客户端的原始请求和内部生成的请求,因此它将挂起。