2017-07-26 100 views
0

我需要从服务器获取一些数据,并将URL作为Base64提供给我。我通常使用法拉第连接到JSON API(这是返回格式)。这是一个基本的例子,包括错误,我得到:在Ruby on Rails中请求使用Faraday的Base64编码的URL

url = "data:application/json;base64,srighiuerghieurg..." 
Faraday.get(url) 

#=> URI::InvalidURIError: query conflicts with opaque 

打开网址在任何浏览器产生预期的JSON,但我怎样才能使利用法拉第这项工作?

为了让您的请求的结构的一个想法:

curl 'https://some.site.net/1/indexes/*/queries?some-agent=...' -H 'Accept: application/json' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: en-US,en;q=0.5' -H 'Connection: keep-alive' -H 'Content-Type: application/x-www-form-urlencoded' -H 'DNT: 1' -H 'Host: some.site.net' -H 'Origin: https://another.site.com -H 'Referer: https://another.site.com/some/path' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240' --data '{"requests":[{"index":"some-name","params":"some=params"}]}' 
+0

你能检查协议是否存在于url(http/https) – Sajin

+0

@Sajin它不是。以上是我得到的一切。 – Severin

+0

您是否尝试过从Base64解码网址,并将该值用作网址? – Nermin

回答