gpt4 book ai didi

ruby-on-rails - x-www-form-urlencoded POST 请求和 net/http 上缺少查询参数

转载 作者:数据小太阳 更新时间:2023-10-29 08:58:26 26 4
gpt4 key购买 nike

我有一个带有 header 和查询参数的发布请求,我想用 net/http 触发。请求返回 200,但响应正文显示:{\"error\":\"invalid_request\",\"error_description\":\"Required query parameter 'grant_type' missing.\"}

这是我调用的完整函数:

def Search.request_oauth_access_token
require 'net/http'
uri = URI.parse('https://request.url/oauth2/access_token')
params = {
'grant_type' => 'my:grant:type'
}
headers = {
'Authorization' => 'Basic sldhfgKGsdfgGOI23==',
'Content-Type' => 'application/x-www-form-urlencoded'
}
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri, headers)
query = URI.encode_www_form_component(params)
request.body = query
response = http.request(request)
p response.body
end

我正在使用 Rails 5.0.2。

最佳答案

解决了。原来我在 params 定义中有一个语法错误。这是定义它的正确方法:

params = {
grant_type: 'my:grant:type'
}

然后在请求中:

query = URI.encode_www_form(params)
http.request(request, query)

关于ruby-on-rails - x-www-form-urlencoded POST 请求和 net/http 上缺少查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42772933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com