C++实现搜狗浏览器加速代理客户端(HTTP/HTTPS)的核心代码

借助sogou搜狗浏览器的电信, 联通和教育网的加速代理(支持CONNECT方式的HTTPS连接), 可以实现上网加速特别是教育网的加速,  不过代理不能直接使用, 必须搭建一个搜狗浏览器代理客户端来做代理的验证工作.

目前搜狗的教育网代理大概如下: 

h0.edu.bj.ie.sogou.com

h1.edu.bj.ie.sogou.com

h2.edu.bj.ie.sogou.com

h3.edu.bj.ie.sogou.com

客户端可以分配好流量走向来尽可能的加速.


下面是整个验证算法的核心.

static unsigned int hashTag(const string &s)
{
	unsigned int code = s.Length;
	for (int i = 0; i < s.Length / 4; ++i) {
		unsigned int a = (s[i * 4] & 0xffu) + ((s[i * 4 + 1] & 0xffu) << 8);
		unsigned int b = (s[i * 4 + 2] & 0xffu) + ((s[i * 4 + 3] & 0xffu) << 8);
		code += a;
		code ^= ((code << 5) ^ b) << 0xb;
		code += code >> 0xb;
	}
	switch (s.Length % 4) {
	case 1:
		code += s[s.Length - 1] & 0xffu;
		code ^= code << 0xa;
		code += c

你可能感兴趣的:(C/C++,c++,网络,http)