注册
登录
提问时间:2017/9/30 17:28:15    楼主:未知网友   阅读量:494
HTTP代理本质上是一个Web应用,它和其他普通Web应用没有根本区别。HTTP代理收到请求后,根据Header中Host字段的主机名和Get/POST请求地址综合判断目标主机,建立新的HTTP请求并转发请求数据,并将收到的响应数据转发给客户端。

如果请求地址是绝对地址,HTTP代理采用该地址中的Host,否则使用Header中的HOST字段。做一个简单测试,假设网络环境如下:

192.168.1.2 Web服务器
192.168.1.3 HTTP代理服务器
使用telnet进行测试

$ telnet 192.168.1.3
GET / HTTP/1.0
HOST 192.168.1.2

注意最后需要连续两个回车,这是HTTP协议要求。完成后,可以收到 http//192.168.1.2/ 的页面内容。下面做一下调整,GET请求时带上绝对地址

$ telnet 192.168.1.3
GET http//httpbin.org/ip HTTP/1.0
HOST 192.168.1.2

注意这里同样设置了HOST为192.168.1.2,但运行结果却返回了 http//httpbin.org/ip 页面的内容,也就是公网IP地址信息。

从上面的测试过程可以看出,HTTP代理并不是什么很复杂的东西,只要将原始请求发送到代理服务器即可。在无法设置HTTP代理的情况下,对于少量Host需要走HTTP代理的场景来说,最简单的方式就是将目标Host域名的IP指向代理服务器,可以采取修改hosts文件的方式来实现。

站大爷代理IP平台专业提供HTTP代理、HTTPs代理IP和Socks5代理IP服务,欢迎广大顾客朋友们前来咨询。