簡體   English   中英

使用python中的變量作為字符串查詢來傳遞url中的參數

[英]use a variable in python as string query to pass parameter in url

我想使用查詢字符串通過URL傳遞值。 例如:

http://127.0.0.1:5000/data?key=xxxx&secret=xxxx

在Python中,如何將變量添加到URL? 例如:

key = "xxxx"
secret = "xxxx"
url = "http://127.0.0.1:5000/data?key=[WHAT_GOES_HERE]&secret=[WHAT_GOES_HERE]"

最安全的方法是執行以下操作:

import urllib

args = {"key": "xxxx", "secret": "yyyy"}
url = "http://127.0.0.1:5000/data?{}".format(urllib.urlencode(args))

您需要確保您的值是url編碼的。

唯一可以安全發送非編碼的字符是[0-9a-zA-Z]和$ -_。+!*'()

其他一切都需要編碼。

有關其他信息,請參閱RFC1738的第2頁

你是這個意思?

key = "xxxx"
secret = "xxxx"
url = "http://127.0.0.1:5000/data?key=%s&secret=%s" % (key, secret)

連接你的字符串和你的變量:

key = "xxxx"
secret = "xxxx"
url = "http://127.0.0.1:5000/data?key="+key+"&secret="+secret

我認為使用formatter更好(當你有很多參數時,這比%s更清晰):

>>> key = "xxxx"
>>> secret = "xxxx"
>>> url = "http://127.0.0.1:5000/data?key={key}&secret={secret}".format(key=key, secret=secret)
>>> print(url)
http://127.0.0.1:5000/data?key=xxxx&secret=xxxx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM