Anfordern der Base64-kodierten URL mit Faraday in Ruby on Rails - Ruby-on-Rails, Ruby, Base64, Faraday

Ich brauche einige Daten von einem Server, wo dieDie URL wird mir als Base64 zur Verfügung gestellt. Normalerweise verwende ich Faraday, um eine Verbindung zu JSON-APIs herzustellen (das ist das Rückgabeformat). Hier ist ein grundlegendes Beispiel, einschließlich des Fehlers, den ich bekomme:

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

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

Das Öffnen der URL in einem beliebigen Browser führt zu dem erwarteten JSON, aber wie kann ich das mit Faraday machen?

Um Ihnen eine Vorstellung von der Struktur der Anfrage zu geben:

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"}]}"

Antworten:

0 für die Antwort № 1

https://ruby-doc.org/stdlib-2.2.2/libdoc/base64/rdoc/Base64.html

Sie müssen wahrscheinlich auf die erste teilen , dann .decode64 auf dem restlichen?


Verwandte Fragen
Speisekarte