这些帖子 http://v2ex.com/t/73807 http://v2ex.com/t/53288 里都提到过这个问题,我现在也遇到了。做Cache确实能减少运营商的出口带宽,但是这样让我非常不爽,一是担心下载回来的文件被恶意篡改,二是运营商的proxy经常响应速度特别慢,下载经常失败。
比如我向dldir1.qq.com发送的HTTP GET请求,返回的包会自动被篡改成一个302重定向。如果它是透明代理我倒就算了,可是下载地址全变成http://119.80.188.6这种的,实在看不下去。有什么办法可以绕过这一层吗?
curl -v http://dldir1.qq.com/qqfile/qq/QQ2013/QQ2013/7681/QQ2013.exe
* Adding handle: conn: 0x232aa30
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x232aa30) send_pipe: 1, recv_pipe: 0
* About to connect() to dldir1.qq.com port 80 (#0)
* Trying 182.118.37.19...
* Connected to dldir1.qq.com (182.118.37.19) port 80 (#0)
> GET /qqfile/qq/QQ2013/QQ2013/7681/QQ2013.exe HTTP/1.1
> User-Agent: curl/7.31.0
> Host: dldir1.qq.com
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 302 Found
< Location: http://119.80.188.6:80/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/dldir1.qq.com/qqfile/qq/QQ2013/QQ2013/7681/QQ2013.exe
< Connection: Close
<
* Closing connection 0
比如我向dldir1.qq.com发送的HTTP GET请求,返回的包会自动被篡改成一个302重定向。如果它是透明代理我倒就算了,可是下载地址全变成http://119.80.188.6这种的,实在看不下去。有什么办法可以绕过这一层吗?
curl -v http://dldir1.qq.com/qqfile/qq/QQ2013/QQ2013/7681/QQ2013.exe
* Adding handle: conn: 0x232aa30
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x232aa30) send_pipe: 1, recv_pipe: 0
* About to connect() to dldir1.qq.com port 80 (#0)
* Trying 182.118.37.19...
* Connected to dldir1.qq.com (182.118.37.19) port 80 (#0)
> GET /qqfile/qq/QQ2013/QQ2013/7681/QQ2013.exe HTTP/1.1
> User-Agent: curl/7.31.0
> Host: dldir1.qq.com
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 302 Found
< Location: http://119.80.188.6:80/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/dldir1.qq.com/qqfile/qq/QQ2013/QQ2013/7681/QQ2013.exe
< Connection: Close
<
* Closing connection 0