将urllib.request.urlopen移至请求

时间:2020-05-27 04:35:03

标签: python python-3.x python-requests python-3.7 urllib

我在旧版代码中有以下一行,我想更改为使用requests

response = urllib.request.urlopen(url, data)

我一直在研究documentation,并试图找出urlopen正在使用哪种HTTP方法,但是对此一无所获。正如我最初从服务器上发现的那样,我将这一行更改为以下一行:

response = requests.post(
    url,
    data=data,
    verify=False,
    headers={"Content-type": "application/x-www-form-urlencoded"},
)

当我进行系统测试时,我注意到urlopen也正在执行GET请求,如果POST不被支持(或相反)。我明白吗?对此的要求是否相等?

我必须转到请求才能在测试中使用Mocker()

1 个答案:

答案 0 :(得分:1)

根据to urllib documentation,您所使用的方法(GET / POST)确定如下:

  • “如果数据为无,则默认为'GET',否则为'POST'。”

由于请求包没有与int size = 10; int my_array [size];对应的功能,可以执行GET或POST,因此从urlopen迁移的一种简单(简单化)方法是使用{{1 }}(如果数据为None),否则为urlopen

相关问题