SOCKADDR_IN ToAddr;
int comm=proxyip.Find(':'); //proxyip格式为ip:port
ToAddr.sin_addr.S_un.S_addr=inet_addr(proxyip.Left(comm));
ToAddr.sin_family=AF_INET;
proxyip=proxyip.Mid(comm+1);
ToAddr.sin_port=htons(atoi(proxyip));
int retErr=connect(socketsend,(SOCKADDR*)&ToAddr,sizeof(ToAddr));
if(retErr==SOCKET_ERROR)
{
AfxMessageBox("connect error");
return 0;
}
char tmpBuffer[40];
memset(tmpBuffer,0,40);
CString temp;
//ipaddress为需要连接的服务端的ip,port为服务端端口
temp.Format("CONNECT %s:%s HTTP/1.1\r\nUser-Agent: MyApp/0.1\r\n\r\n",ipaddress,port);
send(socketsend,temp.GetBuffer(temp.GetLength()),temp.GetLength(),0);
recv(socketsend,tmpBuffer,40,0);
char *tmp=strchr(tmpBuffer,' ');
char flag[4];
for(int i=0;i<3;i++)
flag[i]=tmp[i+1];
flag[4]='\0';
if(strcmp(flag,"200")!=0)
{
AfxMessageBox("fail to connect proxy!\n");
return 0;
}
return 1;