跳过字符串中的斜杠 url python
skip slash in string url python
我正在使用 python 请求连接到网站。我正在传递一些字符串以获取有关它们的数据。
问题是一些字符串包含斜杠 /
,所以当它们传入 url 时,我得到了 ValueError
.
这是我的 url:
https://api.flipkart.net/sellers/skus/%s/listings % string
当传递字符串(不包含斜杠的字符串)时,我得到:
https://api.flipkart.net/sellers/skus/A35-Charry-228_39/listings
它 returns 一个有效的响应。但是当我传递包含斜杠的字符串时:
string = "L20-ORG/BLUE-109(38)"
我得到 url 喜欢:
https://api.flipkart.net/sellers/skus/L20-ORG/BLUE-109(38)/listings
这会引发错误。
如何解决这个问题?
Python
中的原始字符串文字
string = r"L20-ORG/BLUE-109(38)"
urllib.quote_plus
是你的朋友。由于 urllib
是标准库中的一个模块,您只需使用 import urllib
.
导入它
如果想保守一点,就用默认值:
string = urllib.quote_plus("L20-ORG/BLUE-109(38)")
给出 'L20-ORG%2FBLUE-109%2838%29'
如果您知道某些字符对您的用例无害(例如括号):
string = urllib.quote_plus("L20-ORG/BLUE-109(38)", '()')
给出 'L20-ORG%2FBLUE-109(38)'
我正在使用 python 请求连接到网站。我正在传递一些字符串以获取有关它们的数据。
问题是一些字符串包含斜杠 /
,所以当它们传入 url 时,我得到了 ValueError
.
这是我的 url:
https://api.flipkart.net/sellers/skus/%s/listings % string
当传递字符串(不包含斜杠的字符串)时,我得到:
https://api.flipkart.net/sellers/skus/A35-Charry-228_39/listings
它 returns 一个有效的响应。但是当我传递包含斜杠的字符串时:
string = "L20-ORG/BLUE-109(38)"
我得到 url 喜欢:
https://api.flipkart.net/sellers/skus/L20-ORG/BLUE-109(38)/listings
这会引发错误。
如何解决这个问题?
Python
中的原始字符串文字string = r"L20-ORG/BLUE-109(38)"
urllib.quote_plus
是你的朋友。由于 urllib
是标准库中的一个模块,您只需使用 import urllib
.
如果想保守一点,就用默认值:
string = urllib.quote_plus("L20-ORG/BLUE-109(38)")
给出 'L20-ORG%2FBLUE-109%2838%29'
如果您知道某些字符对您的用例无害(例如括号):
string = urllib.quote_plus("L20-ORG/BLUE-109(38)", '()')
给出 'L20-ORG%2FBLUE-109(38)'