我必须创建一个基本代理,它拦截浏览器的请求并发回标准响应。如果我尝试发送响应以响应https请求,它就无法工作。我使用的代码是:
#after the server socket starts listening
conn, addr = server.accept()
request = conn.recv(4096)
print request
conn.send(b"HTTP/1.1 200 OK\n\n<p>Hello</p>")
conn.close()
现在针对https请求,例如:
Got request:
CONNECT www.google.com:443 HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0
Proxy-Connection: keep-alive
Connection: keep-alive
Host: www.google.com
我尝试发送相同的响应,但浏览器显示&#34;连接被中断&#34;。尽管如此,肯定已经发出了回复。我是否正确地想要克服这个问题,我需要获得一个ssl证书并通过ssl套接字发送响应? (我不是在问这个问题,因为我太懒了,不能试试,但是设置证书应该花一些时间,所以我想在浪费时间错误之前与知道的人核实假设)