我写了一个简单的代理服务器代码,它连接到一个客户端(当前是本地机器),并通过我在curl命令中加入的HTTP GET请求从服务器(再次在本地机器上运行)检索数据
这是curl命令
curl -x http://localhost:12345 http://127.0.0.1:20000/1.txt
但是尽管建立了连接,但curl命令似乎并没有提取GET请求。它似乎不是我编写的代码的问题,因为它似乎在其他PC上工作,它只是不适用于我的
这是我从套接字收到的应该包含GET请求的数据
listening to host: ('127.0.0.1', 58274)
GET http:/// HTTP/1.1
Host:
User-Agent: curl/7.55.1
Accept: */*
Proxy-Connection: Keep-Alive
这是我用来通过套接字建立连接的代码片段
import socket, sys, os
from thread import *
import operator
try:
listening_port = 12345
except KeyboardInterrupt:
print "\nUser Requested an interrupt"
print "Application Exiting ..."
sys.exit()
max_conn = 5
buffer_size = 40960
def main():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('',listening_port))
s.listen(max_conn)
except Exception, e:
print "\nUnable to initialize socket"
sys.exit(2)
while 1:
try:
conn, addr = s.accept()
print "Connection with client established"
print "listening to host: ", addr
print conn.recv(1024)
except KeyboardInterrupt:
print "\nProxy Server shutting down ..."
sys.exit(1)
s.close()
有没有人知道为什么会这样?我一般都是插座和网络的新手,如果能得到一些帮助,我真的很感激。
由于