Python请求urlencode而不发送任何请求

Wil*_*opp 2 python urllib python-requests

有没有办法使用python请求模块urlencode字符串而不发送实际请求?

这可以用urllib的完成所看到这里:

>>> urllib.quote_plus('string_of_characters_like_these:$#@=?%^Q^$')
'string_of_characters_like_these%3A%24%23%40%3D%3F%25%5EQ%5E%24'
Run Code Online (Sandbox Code Playgroud)

我找不到任何显示如何获得可比结果的请求文档.

提前致谢,

威廉

bgp*_*ter 7

请求使用标准库来执行这些功能,并通过其compat模块使用它们:

>>> import requests.compat
>>> requests.compat.quote_plus
<function quote_plus at 0x10eb12de8>
>>> requests.compat.quote_plus('string_of_characters_like_these:$#@=?%^Q^$')
'string_of_characters_like_these%3A%24%23%40%3D%3F%25%5EQ%5E%24'
Run Code Online (Sandbox Code Playgroud)

此模块还将您的代码与Python 2/3问题隔离开来.

(正如@LittleQ指出的那样,它也通过utils模块导出如下:

from .compat import (quote, urlparse, bytes, str, OrderedDict, unquote, is_py2,
                     builtin_str, getproxies, proxy_bypass, urlunparse,
                     basestring)
Run Code Online (Sandbox Code Playgroud)

......这可能是一种更明显的方式来调用该功能.