天天看点

简单实现Http代理工具--完善支持QQ代理

昨天用上次文章里的代理,测试代理访问web.qq.com,发现访问不了,总是返回400错误。

于是开始测试:

1。检测请求头->去掉代理头->无效

2。用ccproxy-》访问web.qq.com正常通过

3。用ccproxy做二级代码即:http请求->ccproxy->tcpproxy(自己的程序)

此时再转发请求头-> 无效

4。去掉代理->直接请求-》获取请求头-》记录下来先

tcpproxy-》比较,修改请头头信息->发送->无效

tcpproxy-》直接发送记录下来的请求头->无效

5。多次刷新请求->几十次->偶尔一次能正常访问

于是,n个小时过去了。没啥效果。

晚上:

终于搜索到一点相关说明:

get / http /1.1 host :ip地址

于是,web.qq.com终于能正常访问,[请求的时间延时也要做相应调整]

但是访问163网站时,又出现403错误。

想起163等网站不允许直接ip请求。将请求头改成:

get / http /1.1 host :xxx.com地址

于是都可以正常访问。至此,实际去掉get的[http://主机头]之后,web请求完成测试通过。

-------------------------------------------------------------------------------

接下来测试登陆qq。

发现登陆超时失败。

中过搜索,在csdn花了10个资源分下载了一个c#源码,支持qq/msn代理登陆。

经过测试与比较:发现qq需要不断的重复来回接收/发送数据。而且时延要处理好,不然也会超时。

晚上1点半,测试通过,至此,终于完成了。

今天到公司测试了一下,目前正常使用中。。。

至此,一个完成的http网页+qq的正常功能的代理就出来了。(msn还没测试,来者自行测试了)

备注说明:在局域网用和在外网用做代理的时候,要正常调整延时的时间。

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:

http://www.cnblogs.com/cyq1162/archive/2010/06/12/1756928.html

<a href="http://files.cnblogs.com/cyq1162/tcpproxywithqq.rar"></a>