使用 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]"
你是这个意思?
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
我认为使用格式化程序更好(当你有很多参数时,这比 %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
最安全的方法是执行以下操作:
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 页
我想使用查询字符串通过 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]"
你是这个意思?
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
我认为使用格式化程序更好(当你有很多参数时,这比 %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
最安全的方法是执行以下操作:
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 页