使用python套接字向web浏览器发送HTTP响应
我正在尝试使用Python制作一个简单的web代理,它将打印到标准HTTP请求和响应。一切都很好,但向浏览器发送HTTP响应不起作用(浏览器只是在“旋转”:|) 这是该部分的代码:使用python套接字向web浏览器发送HTTP响应,python,sockets,http,Python,Sockets,Http,我正在尝试使用Python制作一个简单的web代理,它将打印到标准HTTP请求和响应。一切都很好,但向浏览器发送HTTP响应不起作用(浏览器只是在“旋转”:|) 这是该部分的代码: bclient = socket.socket(socket.AF_INET, socket.SOCK_STREAM) bclient.connect((self.browser_host, self.browser_port)) bclient.send(response) bclient.close() 正在
bclient = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
bclient.connect((self.browser_host, self.browser_port))
bclient.send(response)
bclient.close()
正在发送的响应示例为:
HTTP/1.1 200 OK
Date: Wed, 04 Jun 2014 20:35:29 GMT
Server: Apache/2.2.17 (Unix)
Set-Cookie: PHPSESSID=dc09f975147aa6011cac3177c1646625; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 263
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Welcome to Python.com</title>
</head>
<frameset rows="100%,*" frameborder=0 border=0>
<frame name="main" src="inside.phtml?source=home&" frameborder="0">
</frameset>
</html>
HTTP/1.1200正常
日期:2014年6月4日星期三20:35:29 GMT
服务器:Apache/2.2.17(Unix)
设置Cookie:PHPSESSID=dc09f975147aa6011cac3177c1646625;路径=/
到期时间:1981年11月19日星期四格林威治标准时间08:52:00
缓存控制:无存储,无缓存,必须重新验证,后检查=0,预检查=0
Pragma:没有缓存
内容长度:263
保持活动状态:超时=5,最大=100
连接:保持活力
内容类型:text/html
欢迎来到Python.com
我尝试添加了一个连接:关闭响应的标题,但没有结果。
有什么想法吗?我不明白这个问题。你提到一个浏览器与一个代理交谈,但代理是一个服务器,Python代码是为另一个客户端编写的,而不是为服务器编写的。哦,天哪,我刚刚意识到我添加了一个额外的客户端,而不是简单地编写了server_socket.send(response)。失眠确实是一种罪恶。