Http代理服务器认证问题,请教高手! 本帖最后由 VisualEleven 于 2011-04-07 15:31:45 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 vc连接代理服务器:VC++实现http代理 上面的代码连接Http代理服务器没有问题,但是如果Hppt代理服务器有用户名,密码验证是同样连不上,没有解决我提出的问题 CString uw=User; uw+=_T(":"); uw+=Pass; CString p; Base64Encode((LPCSTR)uw,p); //base64加密 uw = p; sprintf(conbuf, "CONNECT %s:%u HTTP/1.1\r\nHost:%s:%d\r\nProxy-Connection: Keep-Alive\r\nProxy-Authorization: Basic %s\r\n\r\n",addr, port, addr, port, uw ); int num = CSocket::Send(conbuf, strlen(conbuf)); if(num == 0) { TRACE("Send Authority negotiate command error!\n"); return FALSE; } memset(conbuf, 0, BUFF_SIZE); num = CSocket::Receive(conbuf, BUFF_SIZE, 0); //第一行为状态行 HTTPVersion SP Status-Code SP Reason-Phrase CRLF CString line; if (!AfxExtractSubString(line,conbuf,0)){ OnConnect( WSAENOTCONN ); return FALSE; } CString StatusCode ; if (!AfxExtractSubString(StatusCode,line,1,' ')){ OnConnect( WSAENOTCONN ); return FALSE; } if (stricmp(StatusCode,_T("200"))){ //不通过 OnConnect( WSAENOTCONN ); return FALSE; }重新组下请求包试试看,格式为CONNECT 111.1.17.100:7778 HTTP/1.0Host: 111.1.17.100:7778Proxy-Connection: Keep-AliveProxy-Authorization: Basic dXNlcjpwd2Q= //加密后的用户名和密码空行空行 新手求助,如何用OpenCV去除小块的分散区域 CTabCtrl的一个简单问题 关于计时器控件的疑问??? 家产,求VC++仿XP左侧下拉菜单编程。 濡備綍杩涘叆鍙︿竴涓繘绋嬪苟鎺у埗鍏朵富绾跨▼鐨勬秷鎭惊鐜? 如何修改当前系统用户的密码,如何创建一个系统用户? 求助!在OMnet++里编写MFC程序出错! 问个关于VC7.0的问题~ 请教各位,问一个关于类型转换的问题,急! 求救,我编译究竟错在哪里? 调试F5灰色 为什么“图像中任何的颜色分布均可以用它的矩来表示”??
uw+=_T(":");
uw+=Pass;
CString p;
Base64Encode((LPCSTR)uw,p); //base64加密
uw = p;
sprintf(conbuf, "CONNECT %s:%u HTTP/1.1\r\nHost:%s:%d\r\nProxy-Connection: Keep-Alive\r\nProxy-Authorization: Basic %s\r\n\r\n",addr, port, addr, port, uw );
int num = CSocket::Send(conbuf, strlen(conbuf));
if(num == 0)
{
TRACE("Send Authority negotiate command error!\n");
return FALSE;
}
memset(conbuf, 0, BUFF_SIZE);
num = CSocket::Receive(conbuf, BUFF_SIZE, 0); //第一行为状态行 HTTPVersion SP Status-Code SP Reason-Phrase CRLF
CString line;
if (!AfxExtractSubString(line,conbuf,0)){
OnConnect( WSAENOTCONN );
return FALSE;
}
CString StatusCode ;
if (!AfxExtractSubString(StatusCode,line,1,' ')){
OnConnect( WSAENOTCONN );
return FALSE;
}
if (stricmp(StatusCode,_T("200"))){ //不通过
OnConnect( WSAENOTCONN );
return FALSE;
}重新组下请求包试试看,格式为
CONNECT 111.1.17.100:7778 HTTP/1.0
Host: 111.1.17.100:7778
Proxy-Connection: Keep-Alive
Proxy-Authorization: Basic dXNlcjpwd2Q= //加密后的用户名和密码
空行
空行