Je dois obtenir des données d'un serveur où l'URL est fournie en tant que Base64. J'utilise habituellement Faraday pour me connecter aux API JSON (qui est le format de retour). Voici un exemple de base, y compris l'erreur que je reçois:Demande de l'URL encodée Base64 avec Faraday dans Ruby on Rails
url = "data:application/json;base64,srighiuerghieurg..."
Faraday.get(url)
#=> URI::InvalidURIError: query conflicts with opaque
Ouverture de l'URL dans un navigateur donne le JSON attendu, mais comment puis-je faire ce travail à l'aide de Faraday?
Pour vous donner une idée de la structure de la demande:
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"}]}'
pouvez-vous vérifier si le protocole est présent dans l'URL (http/https) – Sajin
@Sajin Ce n'est pas. Ce qui précède est tout ce que j'ai. – Severin
Avez-vous essayé de décoder l'URL de Base64, et d'utiliser cette valeur comme URL? – Nermin