2016-09-29 57 views
0

我有一些ruby測試代碼碰到API端點併發送JSON。如何獲得比Errno :: ECONNRESET更多的信息:現有連接被遠程主機強制關閉。 - SSL_connect`

RestClient.post(url, json, :content_type => :json, :accept => :json) { |response, request, result| 
    @last_response = response 
} 

它偶爾會有時會發生此錯誤。

Errno::ECONNRESET: An existing connection was forcibly closed by the remote host. - SSL_connect 

我能得到關於發生了什麼的更多信息?

回答

1

通過設置RESTCLIENT_LOG=stdout環境變量,你會看到在終端RESTClient實現調試數據。或者,您可以用文件路徑替換stdout以將其寫入日誌文件。

原因可能是無效的SSL證書,或者只是一個脆弱的API端點,在返回響應之前有時會斷開連接。

1

對這類網絡錯誤進行故障排除可能很具有挑戰性。如果它保持不變,您可以嘗試使用Wireshark或tcpdump捕獲網絡流量,這可能會對發生的事情有所瞭解。

一般ECONNRESET通常意味着遠程服務器關閉,而你的客戶仍然有排隊的數據發送給它的連接。

相關問題