Python 代理服务器允许文本,但不允许图像

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

我正在尝试用python制作一个web代理,它能够从主服务器获取文本,但不能获取图像。url包含一行我可以在浏览器中查看的文本,url包含一个我无法在浏览器中显示的图像。我使用谷歌浏览器。下面是我的代码。(我已经为这篇文章硬编码了图像url的主机名)。有人能帮我解决这个问题吗

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)

有什么反馈吗?有什么反馈吗?