对字符串传入的字典参数进行urlencode编码,就需要用到两个方法urlencode和quote
urlencode方法传字典参数
from urllib.parse import urlencode, quote, unquote # urlencode方法参数是字典 body = { "content": "呃呃呃", "charsetSelect": "utf-8", "en": "UrlEncode编码" } print(urlencode(body))
quote传字符串参数
# quote方法参数是字符串 print(quote("上海-悠悠")) url = "http://www.example.com/?a=问问为&b=同人文" print(quote(url))
======================================================
import requests
from urllib.parse import urlencode, quote, unquote
url = "http://www.example.com/" par = { "a": "问问", "b": "嗯嗯" } body = { "content": "嗯嗯", "charsetSelect": "utf-8", "en": "UrlEncode编码" } r = requests.post(url, params=par, data=body) print(r.url) print(unquote(r.url))