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

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

于是开始测试:

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

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

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

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

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

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

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

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

 

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

 

晚上:

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

将把请求头Get http://xxx.com/ http /1.1 和Host : xxx.com 换成以下:

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

上一篇:迪士尼黑科技:爬墙机器人 VertiGo


下一篇:SmartSvn遗漏.a文件的解决办法