Traitement d'échappement lors de la création d'une URL dans Ruby

Si vous créez une URL avec des paramètres de requête ajoutés à une URL avec une chaîne telle que https: // xxxx, les paramètres de requête doivent être convertis sous une forme spéciale.

Vous devez exécuter encodeURIComponent en JavaScript. Cela fait de "+" à "% 2B" et "de" à "% 26".

De base

Ruby utilise CGI.escape.

require 'cgi'

CGI.escape('+ &') # => "%2B+%26"

Exemple d'utilisation

Essayez de construire une URL en utilisant CGI.escape. Il y a beaucoup de choses qui peuvent être améliorées, comme l'utilisation de hachages, mais voici un modèle simple.

"https://samole.com?key={CGI.escape(value)}"

Je pense qu'il est peu probable d'utiliser un caractère spécial pour «key», donc seule «value» est échappée.

Si key s'échappe également, Vous pouvez vous référer à https://github.com/rails/rails/blob/3-0-stable/activesupport/lib/active_support/core_ext/object/to_query.rb.

Autres références

Recommended Posts

Traitement d'échappement lors de la création d'une URL dans Ruby
(Ruby on Rails6) Création de données dans une table
Créer un calendrier avec Ruby
Multiplication dans un tableau Ruby
Encodage lors de l'accès à Windows + Ruby
Implémenter le client gRPC dans Ruby
Traitement d'échappement lors de la recherche de LIKE
À propos de ce que j'ai fait lors de la création d'un fichier .clj avec Clojure
(Ruby on Rails6) Créer une base de données et l'afficher dans une vue
Soyez prudent lorsque vous omettez le retour dans Ruby
J'ai essayé un problème de calendrier avec Ruby
Lors de la recherche de plusieurs dans un tableau Java
[Création] Un mémorandum sur le codage en Java
Création d'un servlet dans l'environnement Liberty
Ne pas revenir lors de la prise de notes en Ruby
Création d'une classe de matrice dans Java Partie 1
Comment démarrer un indice à partir d'un nombre arbitraire dans le traitement itératif Ruby
Convertir en balise dans la chaîne d'URL avec Rails
Comportement lorsque le caractère générique (**) est spécifié dans ruby
Création d'un outil d'automatisation de navigateur avec Ruby + Selenium
Créez un cadre de traitement par lots simple dans Eclipse.
Code pour échapper aux chaînes JSON en Java
Une note quand vous voulez Tuple en Java
J'ai créé une bibliothèque d'extension Ruby en C
Dessinez un ensemble de Mandelbrot trop beau avec Processing
Clavier lorsque vous appuyez sur un champ de texte dans WebView
Instructions pour l'écriture de traitement lorsque des valeurs existent / n'existent pas dans Java Facultatif
Traitement lorsqu'un ID qui n'existe pas dans la base de données est entré dans l'URL
Lourd en rubis! ??
Processus itératif Ruby
Création d'un jeu Chinchiro avec Ruby 4th Création d'un processus de progression du jeu
Points à surveiller lors de la création d'un framework
Calculer la différence entre les nombres dans un tableau Ruby
[Ruby / Rails] Définissez une valeur unique (unique) dans la classe
Ce qui m'a impressionné en tant que débutant dans l'écriture de Ruby
Comment lancer une autre commande dans un programme Ruby
À propos de l'ajout de variables dans le traitement itératif dans l'instruction while
Un mémorandum lors de la création d'un service REST avec Spring Boot
Ce que j'ai appris lors de la création d'un serveur en Java
Définissez l'URL racine lors du démarrage de Tomcat avec intelliJ
[Programmation complète] §5 Créer une application de gestion des avis dans Ruby
Appeler un programme écrit en Swift depuis Processing (Java)
Obtenez l'URL de la destination de la redirection HTTP dans Ruby
[Ruby] Prenez l'habitude d'utiliser la méthode dup lors de la copie d'une variable chaîne