【问题标题】:How I can send post request without response python3如何在不响应 python3 的情况下发送发布请求
【发布时间】:2020-06-21 11:12:06
【问题描述】:

我使用 requests lib python 3.8。我有一个包含 20 个 URL 的列表。我为每个 URL 创建一个线程。在线程内部我有(当真)向一个地址发送发布请求,有时地址很忙,响应时间变长。 我如何立即发送发布请求。我不需要响应数据

【问题讨论】:

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


    【解决方案1】:

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

    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}")
    

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

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

    【讨论】:

    • 我的网站是 https。不一样吗?
    • 第一种方法不行,但第二种方法可以
    • 当我们考虑例如超时等于一秒时,如果包在这一秒内没有到达目的地,该包是否会从网络中删除,只有一个新的请求将被发送。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多