2017-09-25 44 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

相关问题