我有一些环路我运行两种方式之一。超时与Python请求+ Clojure HttpKit服务器但不是环服务器
lein ring server
,使用org.httpkit.server
的lein-ring
插件- ,像
(hs/run-server app {:port 3000}))
这是一个Web应用程序(由一个Angular.js浏览器客户端消耗)。
我必须使用请求库用Python写的一些API测试:
my_r = requests.post(MY_ROUTE,
data=MY_DATA,
headers={"Content-Type": "application/json"},
timeout=10)
当我使用lein ring server
,此请求工作在JS客户端和Python的测试罚款。
当我使用httpkit
,能正常工作的JS客户端,但Python的客户端超时与
socket.timeout:超时
我想不通为什么Python的客户端超时。它发生在httpkit
而不是lein-ring
,所以我只能假设原因与差异有关。
- 我看过WireShark的流量,都看起来像他们给出了正确的答案。两者都有相同的
Content-Length
字段(15个字节)。 - 我已经提出的线程数量为10(不应该需要),并没有改变。
任何想法有什么不对?
我基本上有同样的问题。 FWIW,看起来好像请求最终使用基本的python套接字库来读取,直到它接收到10K字节或EOF。然后,调用链中的某些东西似乎并没有关闭连接。我仍在四处寻找选择。 – James
疯了。请回报,我很想知道。 – Joe