gpt4 book ai didi

ruby-on-rails - API 调用使用 Net::HTTP 抛出 Net::HTTPBadResponse 错误

转载 作者:太空宇宙 更新时间:2023-11-03 12:46:48 24 4
gpt4 key购买 nike

我正在 Rails 环境中工作。我正在使用 Net::HTTP 模块调用外部 API 并获取响应。这在我的本地主机上运行良好。但在暂存过程中会抛出 Net::HTTPBadResponse 错误。我的登台启用了 SSL。这就是区别。在下方提供代码段和错误。

parameters = {'VirtualNumber' => '09845xxxxxx','Number[]' => "09878xxxxxx" }
x = Net::HTTP.post_form(URI.parse("https://example.com"), parameters)

Error:
Net::HTTPBadResponse (wrong status line: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">")

成功的结果将是 XML 格式。谁能帮我解决这个问题。

谢谢你,
问候

最佳答案

问题是从启用 ssl 的站点调用 API。因此,在调用 API 时,我们需要启用 ssl。除此之外,还需要提供基本身份验证。

parameters = {'VirtualNumber' => '09845xxxxxx','Number[]' => "09878xxxxxx" }
url = URI.parse("https://example.com")
request = Net::HTTP::Post.new(url.path)
request.basic_auth "user", "pass"
request.set_form_data(parameters)
sock = Net::HTTP.new(url.host, url.port)
if url.scheme == 'https'
sock.use_ssl = true
end
response = sock.start {|http| http.request(request) }

关于ruby-on-rails - API 调用使用 Net::HTTP 抛出 Net::HTTPBadResponse 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23468540/

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