Python 如何替换通过代理传输的数据包中的URL?

Python 如何替换通过代理传输的数据包中的URL?,python,http,proxy,Python,Http,Proxy,我正在用python为自己的代理服务器编写代码。从客户端和目标服务器传输数据包的代码如下: def _read_write(self): if self.target: pass else: domain, port = self.get_target_host() self._connect_target(domain, port) self.target.send(sel

我正在用python为自己的代理服务器编写代码。从客户端和目标服务器传输数据包的代码如下:

def _read_write(self):
        if self.target:
            pass
        else:
            domain, port = self.get_target_host()
            self._connect_target(domain, port)

        self.target.send(self.headers)

        maxtimeout = self.timeout / 3
        inputs = [self.client, self.target]
        count = 0
        try:

            while 1:
                count += 1
                (recv, send, err) = select.select(inputs, [], inputs)

                if err:
                    break

                if recv:
                    for in_ in recv:
                        data = in_.recv(BUFFLEN)

                        if in_ is self.client:
                            out = self.target
                        else:
                            out = self.client

                        if data:
                            out.send(data)
                            count = 0
                if count == maxtimeout:
                    break
        except select.error:
            print >> sys.stderr, "Error : Internal queue error\n", "Reason : Unknown"

现在,由于每个数据包都是从客户机单独传输到服务器的,因此我想截取正在传输的数据,并用一些新的URL替换资源(如图像、css等)的URL和距离客户机最近的服务器。这样做对吗?如果URL由数据包分隔,我想我会遇到问题。

对-在数据包级别上很难做到这一点。可能更简单的方法是首先在代理中构建整个数据,然后进行处理,然后将数据发送到客户端。

首先我已经这样做了,但出现了一些问题。执行脚本需要很多时间。我想做的是用CDN URL替换URL。我找不到关于如何开发CDN的任何信息。