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

    xiaoxiao2022-07-07  141

    昨天用上次文章里的代理,测试代理访问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。

    发现登陆超时失败。

    中过搜索,在花了10个资源分下载了一个C#源码,支持QQ/MSN代理登陆。

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

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

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

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

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

    源代码点此下载

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

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

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)