我有一些環路我運行兩種方式之一。超時與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