[PYTHON] Précautions lors de l'utilisation de la fonction urllib.parse.quote

La fonction urllib.parse.quote (fonction urllib.quote en Python2) utilisée pour le codage d'URL n'encode pas le séparateur de chemin (/) par défaut.

>>> help(urllib.parse.quote)

#La chaîne de caractères spécifiée par l'argument sûr est exclue du codage.
quote(string, safe='/', encoding=None, errors=None)
    quote('abc def') -> 'abc%20def'
    
(…)

    By default, the quote function is intended for quoting the path
    section of a URL.  Thus, it will not encode '/'.  This character
    is reserved, but in typical usage the quote function is being
    called on a path where the existing slash characters are used as
    reserved characters.

Par conséquent, lors du codage d'une chaîne de caractères comprenant une URL avec l'API Twitter, etc., il est nécessaire de définir le deuxième argument (ou l'argument nommé safe) sur `` '' (caractère vide) `.

quote_safe


#Séparateur de chemin(/)N'est pas encodé
>>> urllib.parse.quote('http://hoge.com/api')
'http%3A//hoge.com/api'

#Séparateur de chemin(/)Est encodé
>>> urllib.parse.quote('http://hoge.com/api', '')
'http%3A%2F%2Fhoge.com%2Fapi'
>>> urllib.parse.quote('http://hoge.com/api', safe='')
'http%3A%2F%2Fhoge.com%2Fapi'

Recommended Posts

Précautions lors de l'utilisation de la fonction urllib.parse.quote
Précautions lors de l'utilisation de Chainer
Précautions lors de l'utilisation de Pit avec Python
Précautions lors de l'héritage de la classe DatasetMixin
Précautions lors de l'utilisation de l'analyse des traits TextBlob
Précautions lors de l'utilisation de codecs et de pandas
Précautions lors de l'utilisation de phantomjs de python
Précautions lors de l'utilisation de six avec Python 2.5
Précautions lors de l'utilisation d'une liste ou d'un dictionnaire comme argument par défaut
Précautions lors du décapage d'une fonction en python
Précautions lors de l'utilisation de l'instruction for dans les pandas
Précautions lors de l'utilisation de tf.keras.layers.TimeDistributed pour la couche personnalisée tf.keras
Précautions lors de l'installation de packages dans l'environnement conda
Précautions lors de l'utilisation de la bibliothèque google-cloud avec GAE / py
Résumé lors de l'utilisation de Fabric
Précautions à prendre lors de la manipulation de Luigi
Précautions lors de l'utilisation de sqlite3 de macOS Sierra (10.12) avec le multitraitement
Paramètres initiaux lors de l'utilisation de l'API foursquare avec python
Ajustement de fonction (à l'aide de Keras)
La première «fonction» GOLD
Dessinez sur Jupyter en utilisant la fonction de tracé des pandas
J'ai essayé d'approcher la fonction sin en utilisant le chainer
À propos de la fonction Déplier
python Spécifie la fonction à exécuter lorsque le programme se termine
[Django Rest Framework] Personnalisez la fonction de filtre à l'aide de Django-Filter
Précautions lors de l'installation de fbprophet
Résolvez le problème japonais lors de l'utilisation du module CSV en Python.
J'ai essayé d'approcher la fonction sin en utilisant chainer (re-challenge)
Points (personnels) lors de l'utilisation de ctypes
Variables d'environnement lors de l'utilisation de Tkinter
Précautions pour la mise à niveau de TensorFlow (vers la version 1.3)
Lors de l'utilisation d'optparse avec iPython
Concernant la fonction d'activation Gelu
Essayez l'optimisation des fonctions à l'aide d'Hyperopt
Quelle est la fonction d'activation?
Cloner à l'aide de la commande dd
Précautions lors de la superposition de la fonction de densité de probabilité et de l'histogramme dans matplotlib
À propos de la fonction enumerate (python)
Paramètres de DEBUG lors de l'utilisation de Django
Essayez d'utiliser l'API Twitter
Essayez d'utiliser l'API PeeringDB 2.0
Lors de l'utilisation si et lors de l'utilisation pendant
Structure de fichier lors de l'utilisation d'exigences python sans serveur
Utilisez configparser lors de l'utilisation de l'API
Décrivez le visage avec Dlib (1)
Qu'est-ce que la fonction de rappel?
Comprendre la fonction de convolution en utilisant le traitement d'image comme exemple
Précautions lors de la création d'un tableau à deux dimensions avec toutes les mêmes valeurs
L'histoire de l'erreur de hachage est apparue lors de l'utilisation de Pipenv
[Linux / GCP] Traitement des erreurs survenues lors de l'utilisation de la commande Git
Fonction de filtre Amazon Rekognition lors de l'enregistrement des visages ・ Limitation du nombre de visages
Trouvez la valeur optimale de la fonction à l'aide d'un algorithme génétique (partie 1)
Précautions lors de l'attribution de valeurs par défaut aux arguments dans les définitions de fonctions Python
Essayez de résoudre le problème de minimisation des fonctions en utilisant l'optimisation des groupes de particules