Python 代理服务器允许文本,但不允许图像
我正在尝试用python制作一个web代理,它能够从主服务器获取文本,但不能获取图像。url包含一行我可以在浏览器中查看的文本,url包含一个我无法在浏览器中显示的图像。我使用谷歌浏览器。下面是我的代码。(我已经为这篇文章硬编码了图像url的主机名)。有人能帮我解决这个问题吗Python 代理服务器允许文本,但不允许图像,python,web,proxy,server,Python,Web,Proxy,Server,我正在尝试用python制作一个web代理,它能够从主服务器获取文本,但不能获取图像。url包含一行我可以在浏览器中查看的文本,url包含一个我无法在浏览器中显示的图像。我使用谷歌浏览器。下面是我的代码。(我已经为这篇文章硬编码了图像url的主机名)。有人能帮我解决这个问题吗 from socket import * client= socket(AF_INET, SOCK_STREAM) proxy_port = 8880 client.bind(("", proxy_port )) clie
from socket import *
client= socket(AF_INET, SOCK_STREAM)
proxy_port = 8880
client.bind(("", proxy_port ))
client.listen(10)
while 1:
client_connection, client_address = CLIENT.accept()
request = client_connection.recv(102400).decode()
if request.startswith("GET"):
try:
print(request)
web = socket(AF_INET, SOCK_STREAM)
web.connect(("images.mid-day.com", 80))
web.send(request.encode())
reply = web.recv(102400).decode()
print(reply)
client_connection.send(reply.encode())
web.close()
except:
print("illegal req")
client.close()
这是我从浏览器获取的请求:
您仅从上游服务器读取了102400字节,但映像响应(至少)为567702字节。除了使用
sendall()
reply = b''
while True:
data = web.recv(4096)
if not data:
break
reply += data
client_connection.sendall(reply)
您仅从上游服务器读取了102400字节,但映像响应(至少)为567702字节。除了使用sendall()
reply = b''
while True:
data = web.recv(4096)
if not data:
break
reply += data
client_connection.sendall(reply)
有什么反馈吗?有什么反馈吗?