如何代理UDP数据包?
How to proxy UDP packets?
在服务器端,我从网站接收有效载荷,并通过我的客户端-服务器连接发送它。
客户端收到 html 页面,使用网络浏览器( google chrome )处理它,我收到一个页面......但没有任何图片。
服务器代码 -->
f = socket.socket()
f.settimeout(1)
f.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
try:
a = random.randint(2000,9999)
f.bind(("0.0.0.0", a))
except:
a = random.randint(2000,9999)
f.bind(("0.0.0.0", a))
f.connect((url, 80))
url2 = url.encode('utf-8')
f.sendall(b"GET / HTTP/1.1\r\nHost:"+url2+b"\r\n\r\n")
while True:
try:
data = f.recv(4096)
#print(data)
data = data.decode('utf-8')
data = data.encode('utf-8')
client_connection.send(data)
except:
break
f.setblocking(False)
f.close()
我也必须监听 udp 流量吗?
喜欢 --> data_udp = f.recv.udp(4096)
或者我做错了什么?
不,http header 说如果传输图像,只需要
- 检查图像是否传输
- 如果是图片,就不要encode-decode,会惹事的
在服务器端,我从网站接收有效载荷,并通过我的客户端-服务器连接发送它。
客户端收到 html 页面,使用网络浏览器( google chrome )处理它,我收到一个页面......但没有任何图片。
服务器代码 -->
f = socket.socket()
f.settimeout(1)
f.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
try:
a = random.randint(2000,9999)
f.bind(("0.0.0.0", a))
except:
a = random.randint(2000,9999)
f.bind(("0.0.0.0", a))
f.connect((url, 80))
url2 = url.encode('utf-8')
f.sendall(b"GET / HTTP/1.1\r\nHost:"+url2+b"\r\n\r\n")
while True:
try:
data = f.recv(4096)
#print(data)
data = data.decode('utf-8')
data = data.encode('utf-8')
client_connection.send(data)
except:
break
f.setblocking(False)
f.close()
我也必须监听 udp 流量吗?
喜欢 --> data_udp = f.recv.udp(4096)
或者我做错了什么?
不,http header 说如果传输图像,只需要
- 检查图像是否传输
- 如果是图片,就不要encode-decode,会惹事的