尝试使用 Ruby HTTP 起始块发出带有正文的 HTTP Post 请求
Trying to make HTTP Post request with a body using Ruby HTTP start block
我正在尝试使用基本 oauth 和正文参数发出 POST 请求。
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'ACCESS_CODE'
request.body = {
to: to,
subject: subject,
text: text,
api_type: 'json',
uh: @modhash
}.to_json
http.request(request)
end
它returns一个
<Net::HTTPOK 200 OK readbody=true>
所以我知道 oauth 正在工作,但是 body 参数没有传递到请求中,因为它返回了这个错误
[".error.NO_USER.field-to"]], ["please enter a username"]]
我检查了正文哈希中的所有数据值,其中 none 为空。
使用 set_form_data
方法设置您的 POST 正文:
这是一个例子from the docs:
request = Net::HTTP::Post.new(uri)
request.set_form_data('from' => '2005-01-01', 'to' => '2005-03-31')
我正在尝试使用基本 oauth 和正文参数发出 POST 请求。
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'ACCESS_CODE'
request.body = {
to: to,
subject: subject,
text: text,
api_type: 'json',
uh: @modhash
}.to_json
http.request(request)
end
它returns一个
<Net::HTTPOK 200 OK readbody=true>
所以我知道 oauth 正在工作,但是 body 参数没有传递到请求中,因为它返回了这个错误
[".error.NO_USER.field-to"]], ["please enter a username"]]
我检查了正文哈希中的所有数据值,其中 none 为空。
使用 set_form_data
方法设置您的 POST 正文:
这是一个例子from the docs:
request = Net::HTTP::Post.new(uri)
request.set_form_data('from' => '2005-01-01', 'to' => '2005-03-31')