将 urllib.request.urlopen 移动到请求



我在遗留代码中有以下行,我想将其更改为使用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

最新更新