没有发送任何内容时,Python3 http请求关闭连接

时间:2019-07-02 23:16:00

标签: python-3.x http python-requests

我有一个具有以下解决方法的API:

  1. 您发出POST请求,并返回“ n”行数据:{json}
  2. 它会保持连接打开到最短300秒(不发送任何内容)。

因为这非常慢,所以我想找到一种在不发送任何内容或在计时器之后关闭连接的方法。

1 个答案:

答案 0 :(得分:0)

所以,是的,它比我想的要容易,我将使用http.client库将代码复制粘贴到这里:

def asyncCall(url, data = None, timeout = 300,):
    conn = http.client.HTTPConnection(IP, timeout=timeout)
    conn.request("POST", url, bytes(json.dumps(data), encoding="utf-8"), )
    r1 = conn.getresponse()
    while not r1.closed:
        l = r1.readline().decode("utf-8")
        yield l

通过这种方式,它可以将每一行代码传递给回调(在单独的Process中运行),并在timeout之后关闭连接。