gpt4 book ai didi

Python 代理 - 从服务器接收 http header

转载 作者:可可西里 更新时间:2023-11-01 16:42:11 24 4
gpt4 key购买 nike

我正在用 Python 构建代理服务器,我遇到了一个问题。首先,我将向您展示我的代码的一部分,它显示了从客户端接收的数据:如果有来自客户端的数据,它会下载所请求网站的内容(通过使用 urllib 库),然后发送给客户端200 OK 内容长度和内容本身:

        data = currentSocket.recv(4096)
if data == "":
open_client_sockets.remove(currentSocket)
print 'Conn is closed'
else:

dataSplit = data.split("\r\n")
Host = HostFliter(dataSplit)
print Host, " Host"
if Host == "":
break
contentURL = urllib.urlopen(Host)
content_to_send = contentURL.read()
currentSocket.send("HTTP/1.1 200 OK\r\nContent-Length:"+str(len(content_to_send))+"\r\n\r\n"+str(content_to_send))
contentURL.close()

**变量“主机”包含网站的 url。

现在开始提问:我从哪里获取服务器的 header ,然后将它们发送到客户端?

**我使用的库:socket、select、urllib。

**这是选择库:

rlist, wlist, xlist = select.select([serverSocket] + open_client_sockets, open_client_sockets, [])

最佳答案

HTTP响应语法如下

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 38

<html><body>Hello world!</body></html>

因此您需要在 \r\n 之前发送 header 用\n分隔以上格式。

关于Python 代理 - 从服务器接收 http header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29707787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com