0
Rails에서 Net :: HTTP로 변환 된 curl 명령을 실행하려고 할 때 다음 오류가 발생합니다. url + params는 AJAX를 사용하여 클라이언트 측에서 실행할 때 예상되는 응답을 제공하지만 물론 내 API 키를 노출합니다.컬링에 대한 레일 오류가 Net :: HTTP로 변환됨
이 오류가 발생하는 이유는 무엇입니까?
오류 :
undefined method `empty?' for #<URI::HTTPS:0x00000006552fe8>
컬 :
레일 코드
curl -X POST -d "maxRetrieve=1" -d "outputMode=json" -d "url=https://www.whitehouse.gov/the-press-office/2016/03/19/weekly-address-president-obamas-supreme-court-nomination" "https://gateway-a.watsonplatform.net/calls/url/URLGetRelations?apikey=ABC123"
: 나는 당신의 코드를 재 작성 있도록 루비 v1.9.3을 사용하고 같은
require 'net/http'
require 'uri'
require 'json'
url = "https://gateway-a.watsonplatform.net/calls/url/URLGetRelations?apikey=ABC123"
encoded_url = URI.encode(url)
uri = URI.parse(encoded_url)
request = Net::HTTP::Post.new(uri)
request.set_form_data(
"maxRetrieve" => "1",
"outputMode" => "json",
"url" => "https://www.whitehouse.gov/the-press-office/2016/03/19/weekly-address-president-obamas-supreme-court-nomination",
)
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request)
end
puts response
감사합니다. 그건 내 실수 였어. "net = HTTP :: Get.new (uri)"또는 "request = Net :: HTTP :: Post.new (uri)"를 사용하는 경우에도 동일한 오류가 발생합니다. – JeffA
감사합니다. 당신은 분명히 나를 올바른 방향으로 가리켰다. 참고로, 나는 apikey를 args로 옮겨야 실제로 작동하도록했습니다. – JeffA