代理服务器访问百度的问题

明月照大江 发布于 2013/07/09 22:36
阅读 829
收藏 1

最近使用 netty 提供的 httpencode 和http decode 写了一个HTTP 的代理服务器,

然后出现了这么几种情况

大部分的网站都可以通过这个代理服务器进行网页浏览,但是有那么一下几个不支持。

百度的搜索功能不支持,一直返回 302 错误,然后重定向到 error界面,但是同为搜索引擎,google没有问题,soso没有问题,必应也没有问题。

优酷的首页访问不支持,也是报了 302 错误,然后一直在循环重定向,发送大量的请求到服务器。

但是同为视频网站的 土豆支持,爱奇艺也没问题。

所以我来这想问一下大家,一般来说HTTP协议的重定向是怎么发生的,还有是不是这些网站设置了某些关键参数,来防止攻击导致我的代理服务器获得一个错误的信息。

如果大家想要源码,我可以稍后提供。

本来想抛开netty自己写代理,但是自己写的代理是否会出现这样的问题,这个问题是netty本身的问题,还是我写的代码的问题,或者是 代理服务器的通病。只有确认了这个问题,我才好决定以及怎么去解决这个问题。

加载中
1
遥志
代理服务器都需要满足http协议或者socks协议代理上网,请参考:http://www.ccproxy.com/baike-http-dai-li-gong-neng-jie-shao.htm
明月照大江
明月照大江
问题已经解决了,主要是 代理服务器收到的 uri是带域名的,但是标准的request是不带域名的,所以把 uri的域名部分去掉再向目的服务器发送就好了
0
Tsingxu
Tsingxu
这种情况一般是百度对Header中的某些信息做了处理,你可以把你最终发出的Http请求贴出来看一下
明月照大江
明月照大江
我的代理是简单代理,浏览器往代理发什么,我就原样照发,就是希望代理是透明的
0
小学徒V
小学徒V
你好,能不能发源代码给我参考下,最近我也在弄这个东西,我自己也写了一个,但是怕没有那么成熟会有很多问题,不知道介不介意
返回顶部
顶部