我如何在没有响应的情况下发送发布请求python3

时间:2020-06-21 11:12:06

标签: python-3.x asynchronous post python-requests python-multithreading

我使用请求lib python 3.8。我有一个包含20个URL的列表。我为每个URL创建一个线程。内部线程我有(而True)发送帖子请求到一个地址,有时地址很忙,响应时间变长。 我如何立即发送发帖请求。我不需要回复数据

1 个答案:

答案 0 :(得分:0)

您可以为此使用简单的套接字,如下所示:

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send(f"POST /{URL} HTTP/1.1\r\nHost: {HOST}\r\nContent-Type: application/json\r\nContent-Length: {LENGTH}\r\n\r\n{CONTENT}")

或者作为变体,使用请求lib的超时(其大小是可变的):

try:
    requests.post(f"http://{HOST}:{PORT}/{URL}/",timeout=0.1)
except requests.exceptions.ReadTimeout: 
    pass