我正在尝试在Python中创建一个TCP套接字服务器,它在从客户端接收到一串字节后,将接收到的数据(不知道它实际上是什么,假设它是一个有效的HTTP请求)传递给HTTP或HTTPS代理并等待结果,我的代码看起来像这样:
import socket
def test(host, port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((socket.gethostbyname(host), int(port))
msg = """GET / HTTP/1.1
Host: www.bing.com
User-Agent: Firefox
"""
sent_count = sock.send(msg)
recv_value = sock.recv(2048)
print('recvieved:',)
print str(recv_value)
pass
if __name__ == '__main__':
test(host='x.x.x.xx', port='80') # a https proxy server
test(host='yy.yy.yy.yy', port='80') # a http proxy server
但是当我连接到HTTP代理服务器时,它会返回如下内容:
HTTP/1.1 404 Not Found
当我连接到HTTPS代理服务器时,它会显示如下内容:
HTTP/1.0 400 Bad Request
所以想知道是否有人知道如何通过Python中的套接字向HTTP / HTTPS服务器发送HTTP请求?或者如何在Python中使用套接字将任意数据串重定向到HTTP / HTTPS代理服务器?任何建议都非常感谢,提前感谢。