0
我需要在公共API中進行GET請求。我知道登錄名和密碼數據是正確的,但api返回認證錯誤。通過郵遞員,請求成功完成。問題出在同一個ruby代碼中。獲得基本身份驗證Ruby不起作用
代碼:
nfe_key = '41170608187168000160550010000001561000000053'
params = {'grupo' => 'edoc','cnpj' => '08187168000160', 'ChaveNota' => nfe_key, 'Url' => '1'}
url = URI.parse('https://managersaashom.tecnospeed.com.br:7071/ManagerAPIWeb/nfe/imprime')
get = Net::HTTP::Get.new(url.path)
get.basic_auth 'admin', '123mudar'
get.set_form_data(params)
request = Net::HTTP.new(url.host, url.port)
request.read_timeout = 500 #seconds
request.use_ssl = true
request.verify_mode = OpenSSL::SSL::VERIFY_NONE
response = request.start {|http| http.request(get) }
puts response.body
我就以同樣的方式一個POST請求路由和它的作品。我不明白爲什麼GET不起作用。
用POST方法的工作原理:
params = {'grupo' => 'edoc','cnpj' => '08187168000160', 'arquivo' => 'formato=XML
' + xml}
url = URI.parse('https://managersaashom.tecnospeed.com.br:7071/ManagerAPIWeb/nfe/envia')
post = Net::HTTP::Post.new(url.path)
post.basic_auth 'admin', '123mudar'
post.set_form_data(params)
request = Net::HTTP.new(url.host, url.port)
request.read_timeout = 500 #seconds
request.use_ssl = true
request.verify_mode = OpenSSL::SSL::VERIFY_NONE
response = request.start {|http| http.request(post) }
puts response.body
在郵遞員:
方法:後 基本身份驗證: 用戶名admin 密碼123mudar