注意: IP代理精灵仅提供国内ip网络节点,不提供境外网络节点,不能用于任何非法用途或访问境外封闭网站,不能跨境联网,只能用于合法的国内网络加速。

请登录 注册

首页 > 新闻资讯 > HTTP代理的穿透原理

HTTP代理的穿透原理

来源:IP代理精灵 作者:admin 时间:2019-05-10 13:57:58

HTTP代理服务器中能够提供一种HTTP CONNECT代理服务,能够允许用户建立TCP连接到任何端口。通过CONNECT方法穿透代理的实现方法为:


CONNECT代理服务器的代理端口(如:8080);如果成功返回就可以按照正常的Socket进行通讯。当然在此之前需要先获得代理相关的信息。

HTTP代理的穿透原理

如何获取HTTP代理相关信息


程序中是通过读取注册表来获取计算机HTTP代理相关信息的,在注册表的\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings键值下就保存着HTTP代理服务器及端口等信息,


根据该键值下的ProxyEnable值可以判断是否有HTTP代理,没有代理的情况下ProxyEnable值为0。


当然一般情况下程序去中访问该键值可能是受限的,所有就需要获取到访问令牌不受限制的UserSid,使用该UserSid去读取HTTP代理信息。


通过HTTP代理代码片段


网络上摘一点代码,原理大概上能实现了的


memset(buff,0,sizeof(buff));


sprintf(buff,"CONNECT %s:%d HTTP/1.1\r\nAccept: */*\r\nContent-Type: text/html\r\nProxy-Connection: Keep-Alive\r\nContent-length: 0\r\n\r\n",lpszHost,nPort);


send(m_Socket,buff,strlen(buff),0);


........


memset(buff,0,sizeof(buff));


recv(m_Socket, buff, sizeof(buff), 0);


if(strstr(buff,"200 Connection")!=NULL)


return true;//连接成功


此外,如果是GET/POST代理你也可以模拟发post和get包,这个没什么说的,熟悉http协议就可以游刃有余的去编程了!主要是需要用大白鲨或其他http截包工具去分析调试。但是,对于客户服务端程序这样就需要额外添加一个中间跳板空间来中转数据。这本身又是很影响速度的。而post每次传输的数据还是有点经不起用。


最新资讯

推荐阅读

  1. 15

    2019-04

    使用代理ip常见的几个关键点及其解决方案

    一个ip支撑不了整个爬虫项目的运营,因此程序员常需要建立代理ip池或者与第三方代理ip软件打交道。作为优质的代理ip服务商​,IP代理精灵为您详解使用代理ip常见的几个关键点及其解决方案

  2. 23

    2020-12

    代理IP和其它代理有什么区别

    代理IP和其它代理有什么区别?现在说到代理它的范围就比较广泛,代理ip其实也是代理的一种,ip加速器是通过IP服务器代理的形式达到全球服网游加速,在海外访问中国大陆网站,国内访问各地

  3. 12

    2019-07

    如何选择高质量的http/https/sock5多协议代理ip

    随着大数据行业的飞速发展,用户对代理IP的需求量越来越大,代理IP服务供应商也越来越多,这意味着有更多的选择的同时,也意味着选择一家高质量的代理ip更加不容易。那么,如何选择高质

  4. 14

    2020-10

    IP资源可以交换吗?怎样突破净值限制

    IP资源可以交换吗?怎样突破净值限制?互联网技术的飞速发展,互联网技术的出现和发展为人们的工作和生活提供了便利。特别是在今年的暴发期间,很多人因为过年回家,结果被暴发困住,无

  5. 22

    2021-06

    不用IP代理,爬虫为什么会被限制

    不用IP代理,爬虫为什么会被限制?不用IP代理,爬虫为什么会被限制?在日常工作时做爬虫的过程中经常会遇到这样的情况,最初爬虫正常运行,正常抓取数据,一切看起来都是那么正常,然而一

  6. 14

    2019-05

    代理IP的原理及分类

    在爬取某些网站时,我们经常会设置代理IP来避免爬虫程序被封。我们获取代理 IP 地址方式通常提取国内的知名 IP 代理商的免费代理和拨号VPS。这些代理商一般都会提供透明代理,匿名代理,