我在遗留代码中有以下行,我想将其更改为使用requests
:
response = urllib.request.urlopen(url, data)
我正在查看文档并试图找出urlopen
正在使用哪种 HTTP 方法,但我看不到任何关于它的信息。我已将此行更改为以下行,正如我最初从服务器中发现的那样:
response = requests.post(
url,
data=data,
verify=False,
headers={"Content-type": "application/x-www-form-urlencoded"},
)
当我运行系统测试时,我注意到如果POST
不受支持(或相反(,urlopen
也会执行GET
请求。我理解正确吗?请求中是否有等效的?
我必须移动到请求才能在我的测试中使用Mocker()
。
根据 urllib 文档,您使用的方法(GET/POST(
确定如下: ">- 如果数据为"无",则默认值为'GET',否则为"POST"。">
由于请求包没有与可以执行 GET 或 POST 的urlopen
对应的函数,因此从urlopen
迁移的一种简单(简单?(方法是在数据为 None 时使用requests.get
,如果不是,则requests.post
。