Comment pourrais-je obtenir l'URL actuelle avec Python,
J'ai besoin de saisir l'URL actuelle pour pouvoir la vérifier, par exemple
requested_url = "URL_HERE"
url = urlparse(requested_url)
if url[4]:
params = dict([part.split('=') for part in url[4].split('&')])
cela fonctionne aussi dans Google App Engine
Essaye ça:
self.request.url
De plus, si vous avez juste besoin de la chaîne de requête, cela fonctionnera:
self.request.query_string
Et, enfin, si vous connaissez la variable de chaîne de requête que vous recherchez, vous pouvez le faire:
self.request.get("name-of-querystring-variable")
Pour quiconque trouver cela via Google,
je l'ai compris,
vous pouvez obtenir les chaînes de requête sur votre demande actuelle en utilisant:
url_get = self.request.GET
qui est un UnicodeMultiDict de vos chaînes de requête!
Essaye ça
import os
url = os.environ['HTTP_Host']
Voici comment je capture en Python 3 à partir d'une URL CGI (A), de paramètres (B) GET et de données (C) POST:
=============================================== =====
système d'importation, os, io
myDomainSelf = os.environ.get ('SERVER_NAME')
myPathSelf = os.environ.get ('PATH_INFO')
myURLSelf = myDomainSelf + myPathSelf
myQuerySelf = os.environ.get ('QUERY_STRING')
myTotalBytesStr = (os.environ.get ('HTTP_CONTENT_LENGTH'))
si (myTotalBytesStr == Aucun):
myJSONStr = '{"error": {"value": true, "message": "No (post) data received"}}'
autre:
myTotalBytes=int(os.environ.get('HTTP_CONTENT_LENGTH'))
myPostDataRaw = io.open(sys.stdin.fileno(),"rb").read(myTotalBytes)
myPostData = myPostDataRaw.decode("utf-8")
mySpy = "myURLSelf: [" + str (myURLSelf) + "]\n"
mySpy = mySpy + "myQuerySelf: [" + str (myQuerySelf) + "]\n"
mySpy = mySpy + "myPostData: [" + str (myPostData) + "]\n"
monFichier = "spy.txt"
myFilePath = myPath + "\" + myFilename
myFile = open (myFilePath, "w")
myFile.write (mySpy)
myFile.close ()
=============================================== =====
Voici quelques autres vars d’environnement CGI utiles:
AUTH_TYPE
CONTENT_LENGTH
CONTENT_TYPE
GATEWAY_INTERFACE
PATH_INFO
PATH_TRANSLATED
CHAÎNE DE REQUÊTE
REMOTE_ADDR
REMOTE_Host
REMOTE_IDENT
REMOTE_USER
REQUEST_METHOD
SCRIPT_NAME
NOM DU SERVEUR
PORT DE SERVEUR
SERVER_PROTOCOL
SERVER_SOFTWARE
==========================================
J'utilise ces méthodes sous Python 3 sous Windows Server avec CGI via MIIS.
J'espère que cela peut vous aider.
Je ne pouvais pas obtenir les autres réponses au travail, mais voici ce qui a fonctionné pour moi:
url = os.environ['HTTP_Host']
uri = os.environ['REQUEST_URI']
return url + uri