使用python中的变量作为字符串查询来传递url中的参数

xy2*_*254 3 python url http

我想使用查询字符串通过URL传递值.例如:

http://127.0.0.1:5000/data?key=xxxx&secret=xxxx
Run Code Online (Sandbox Code Playgroud)

在Python中,如何将变量添加到URL?例如:

key = "xxxx"
secret = "xxxx"
url = "http://127.0.0.1:5000/data?key=[WHAT_GOES_HERE]&secret=[WHAT_GOES_HERE]"
Run Code Online (Sandbox Code Playgroud)

sbe*_*rry 6

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

import urllib

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

您需要确保您的值是url编码的.

唯一可以安全发送非编码的字符是[0-9a-zA-Z]和$ -_.+!*'()

其他一切都需要编码.

有关其他信息,请参阅RFC1738的第2页