关于HTTP代理的问题

yangbin 2003-11-19 10:36:37
现在有个客户端需要从代理服务器后面连接Internet上的服务器,9000端口。但是有些公司的代理服务器封掉了80以外的端口,那么现在如何连上服务器呢?

分析:
QQ,MSN都有遇到同样的问题,用HTTP代理,连接上代理后发送如下字符串:

CONNECT 211.155.234.1:9000 HTTP/1.1\r\n
Accept: */*\r\n
Content-Type: text/html\r\nProxy-Connection: Keep-Alive\r\n
Content-length: 0\r\n
\r\n

但是这样是不行的,QQ是发送 CONNECT 218.18.95.166:443 HTTP/1.1\r\n
必须是连接443(HTTPS)端口吗?

如果将服务器的9000端口改成80端口,传送二进制数据有何问题呢?
如果没有问题QQ,MSN咱都要用HTTP代理?

谁有HTTP代理方面的资料呢?
...全文
53 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
猛禽 2003-11-21
  • 打赏
  • 举报
回复
一般代理不检查内容滴,因为这样会使性能变差
icdlan 2003-11-20
  • 打赏
  • 举报
回复
我用的http代理不检测数据包的内容 它默认的允许连接的断口是80 8080 3128
我还用我们学校的http代理上了网络游戏mu 呵呵
netsys2 2003-11-19
  • 打赏
  • 举报
回复
HTTP代理的基本原理
一个标准的HTTP报文是这样:
GET /[数据] HTTP/[协议版本]<CR>[其他描述] (<CR>为换行)

当你在IE里设置代理后,捕获IE的输出:
GET [你要访问的站点] HTTP/[协议版本]<CR>[其他描述]

对比这两段报文,就不难知道HTTP代理服务器工作的原理了:IE发送一个包含目标URL的HTTP请求,代理服务器接收并析出HTTP报文里的目标URL,然后把这个URL作为一次标准的HTTP连接过程,获取数据后缓冲到代理服务器的硬盘上,再把这些数据返回给客户端。

请求连接目标URL------> 连接目标服务器------->
客户端-------------------------代理服务器------------------------目标服务器
<-----返回数据----(缓冲) <-------------返回数据
yangbin 2003-11-19
  • 打赏
  • 举报
回复
是啊,我也是这么想,但是具体代理服务器是不是检查80端口的数据呢?
如果没有问题QQ,MSN咱都要用HTTP代理?
lostpig 2003-11-19
  • 打赏
  • 举报
回复
俺的考虑:
如果对方代理只允许客户连接外部网络地址的80端口,不管是什么协议,只要连接80端口,都放行,0k,一切没有问题。你把9000端口改成80端口就可以了。
但是,如果对方代理的要求是:我只放行连接外部网络地址的http协议数据,其他协议的别找我。那你简单的简单的更改端口恐怕就不行了吧。
以上是俺的猜想,请大伙指教~
yangbin 2003-11-19
  • 打赏
  • 举报
回复
如果将服务器的9000端口改成80端口,传送二进制数据有何问题呢?

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧