0
我正在用python編寫自己的代理服務器的代碼。從客戶端和目標服務器傳送的數據包的代碼如下:如何從通過代理傳輸的數據包中替換URL?
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"
現在,因爲每個分組單獨地從客戶端傳送到服務器,我要攔截正在傳送的數據和替換等資源的網址作爲圖像,CSS等與一些新的URL與客戶端距離最近的服務器。這是做到這一點的正確方法嗎?我想如果URL被數據包分開,我會遇到問題。
首先,我已經這樣做了,但出了問題。該腳本需要很長時間才能執行。我想要做的是用CDN URL替換URL。我無法找到關於如何開發CDN的任何信息。 – vedarthk 2012-04-08 21:46:30