2017-09-25 58 views
0

我一直試圖找出這一天出現幾天,現在我不知道了。我有下面的代碼,使POST請求到另一個本地運行的應用程序的實例。接收錯誤的狀態行:發出POST請求時出現「HTTP/1.1 1 CUSTOM」

http_client = Net::HTTP.new(0.0.0.0, 1344) 
http_client.use_ssl = true 
http_client.verify_mode = OpenSSL::SSL::VERIFY_NONE 

request = Net::HTTP::Post.new("/some-path/?#some=params", {'Content-Type' => 'application/json'}) 
request.set_form_data(options[:post_data]) if options[:post_data] 
request.body = options[:request_body] if options[:request_body] 

response = http_client.request(request) 

當我運行上面,我得到以下錯誤:

#<Net::HTTPBadResponse: wrong status line: "HTTP/1.1 1 CUSTOM"> 

望着那,似乎這個問題源於

的HTTP請求是由下面的代碼初始化http_client.request(request)的標題有一些問題。我試圖通過登錄response.to_hash.inspect來調試它,但是我無法執行,因爲它會在執行上述檢查之前拋出異常。

我做了一些Googling,它提到我應該有use_ssl = true,我做了。仍然得到相同的錯誤。

url0.0.0.0,因爲我在本地運行,而1344是端口。

回答

0

您應該在使用https/ssl時使用編碼。試試這個:

uri = URI.encode("/some-path/?#some=params") 
request = Net::HTTP::Post.new(uri, {'Content-Type' => 'application/json'}) 
+0

仍然得到相同的異常 – theGreenCabbage

相關問題