我正在使用 python 中的一个简单代理,它GET
从浏览器获取 HTTP 请求,查询正确的网站并将数据(html、css、照片)返回给客户端。我让它工作了,但是从外部 Web 服务器读回数据并将其发送回客户端需要花费大量时间。以下是(我认为是)相关代码:
tempSocket.send(requestToWebpage)
tempList = []
while 1:
print "waiting for data from website..."
data = tempSocket.recv(bufferSize)
if not data:
break
else:
tempList.append(data)
tempResponse = ''.join(tempList)
print "closing temp socket..."
tempSocket.close()
splitResponse = tempResponse.partition("\r\n")
response = splitResponse[0] + "\r\n" + "Proxy-connection: close\r\n" + splitResponse[2]
print "sending results back..."
newConnection.send(response)
newConnection.close()
代理在我自己的机器上运行(就像客户端浏览器一样),它是 Windows 7 64 位。我有一个体面的无线连接到互联网。目前,接收每个 GET 请求的结果并将其传输到客户端需要几分钟以上的时间。通过查看打印语句,我注意到大部分时间似乎都花在了 while 循环中(尤其是通过它的最后一个循环),但其他打印消息的出现时间也比看起来要长。
关于正在发生的事情和提高速度的建议有什么想法吗?