我有一个有效的curl请求
curl -X GET -k 'https://APIADDRESSHERE' -u 'USERNAME:PASSWORD' -H 'Content-Type: application/json'
我也可以在ruby中使用它:
require 'net/http'
require 'uri'
require 'openssl'
uri = URI.parse("https://APIADDRESSHERE")
request = Net::HTTP::Get.new(uri)
request.basic_auth("USERNAME", "PASSWORD")
request.content_type = "application/json"
req_options = {
use_ssl: uri.scheme == "https",
verify_mode: OpenSSL::SSL::VERIFY_NONE,
}
response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
http.request(request)
end
但是,当我使用httparty尝试此操作时,我一直收到401错误消息:
在SecurityContext中找不到身份验证对象。此请求需要HTTP身份验证。
我尝试了以下多种变体,但遇到了麻烦。
response = HTTParty.get('https://APIURLHERE', {"headers": { "Authorization:" => "BASE64ENCODEDUSERNAMEANDPASSWORD", "Content-Type" => "application/json" }})
答案 0 :(得分:0)
您尝试过以下吗?
response = HTTParty.get('https://APIURLHERE', headers: { "Authorization:" => "BASE64ENCODEDUSERNAMEANDPASSWORD", "Content-Type" => "application/json" })
答案 1 :(得分:0)
好吧,我在此过程中的某个地方犯了一个简单的错误,因为类似帖子中的原始解决方案起作用了……不知道上次我进行此操作时它是如何工作了50次,但这显然是我这个地方的一个错误。