从“代理”发送响应到客户端“无法解析主机”

时间:2020-04-30 00:33:53

标签: python curl proxy

我正在实现带有缓存的简单代理,并处理某些情况下客户端请求的URL不存在。

我知道这是首先进入DNS并以err返回的结果无法解析主机。我目前正在关闭套接字,这将慢慢向客户端返回空响应(我正在使用curl进行测试)。如果没有我的代理,curl将以curl(6)响应,因为无法解析主机。目前,我从服务器收到curl(52)空响应。

我如何直接向客户端发送消息,以便它立即知道有错误并与没有代理的情况下响应相同?

编辑

我的想法是例外,我可以发送一些HTTP响应或强制从客户端关闭套接字以快速释放客户端的内容。这是发生这种情况的部分代码:

    try:
         host_address_info = socket.getaddrinfo(host, port,
                                                type=socket.SOCK_STREAM,
                                                family=socket.AF_INET)
    except socket.gaierror as err:
         utils.debug_print('We weren\'t able to resolve host.')
         utils.debug_print('err:', err)
         input_sockets.remove(client_socket)
         client_socket.close()
         active_sockets.remove(client_socket)
         return

谢谢!

0 个答案:

没有答案