Ruby on rails ruby http错误-内容长度格式错误

Ruby on rails ruby http错误-内容长度格式错误,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有以下代码 url = URI.parse("http://localhost:3100/tasks/#{id}.xml") http = Net::HTTP.new(url.host, url.port) # Make request response = http.start do |http| http.get(url.request_uri) end 每当运行此代码时,它都会返回以下错误 Net::HTTPHeaderSyntaxError in TasksControll

我有以下代码

url = URI.parse("http://localhost:3100/tasks/#{id}.xml")
http = Net::HTTP.new(url.host, url.port)

# Make request
response = http.start do |http|
    http.get(url.request_uri)
end
每当运行此代码时,它都会返回以下错误

Net::HTTPHeaderSyntaxError in TasksController#show 
wrong Content-Length format
有人知道这里出了什么问题吗

谢谢,
Josh

嗯,这个代码看起来不对:

response = http.start do |http|
传递给块的变量不应与现有变量同名。你可能想要一些更像现在的东西


嗯,这个代码看起来不对:

response = http.start do |http|
传递给块的变量不应与现有变量同名。你可能想要一些更像现在的东西


例如,当我指向您的代码时,它就工作了,所以我怀疑您的服务器吐出的东西会导致Net::HTTP消化不良。尝试在调用HTTP.new后添加此行:

http.set_debug_output($stderr)

这应该会将整个事务显示在屏幕上。我想您会发现响应头中的Content Length字段有些奇怪(Net::HTTP希望在该字段中找到一串数字)。如果不清楚是怎么回事,那么将输出(或者至少是响应的头部分)发布到这里,让这些聪明的人试一试。

例如,当我指向您的代码时,您的代码可以工作,因此我怀疑您的服务器吐出的东西会导致Net::HTTP消化不良。尝试在调用HTTP.new后添加此行:

http.set_debug_output($stderr)
这应该会将整个事务显示在屏幕上。我想您会发现响应头中的Content Length字段有些奇怪(Net::HTTP希望在该字段中找到一串数字)。如果不清楚是怎么回事,那么将输出(或者至少是响应的标题部分)发布到这里,让这些聪明的家伙试试看