小的页面还行,但是大页面,比如sina,163等,得2秒。 if(url[0] != 0 && host[0] != 0 && ip[0] != 0)
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(2,2);
err = WSAStartup(wVersionRequested,&wsaData);
if(err != 0)
return;
if(LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2)
{
WSACleanup();
return;
} char request[200] = "GET ";// + url + " HTTP/1.1\r\nHost:" + host + "\r\nConnection:Close\r\n\r\n";
strcat_s(request,200,url);
strcat_s(request,200," HTTP/1.1\r\nHost:");
strcat_s(request,200,host);
strcat_s(request,200,"\r\nUser-Agent:DDotNet Spider");
strcat_s(request,200,"\r\nAccept:text/html");
strcat_s(request,200,"\r\nConnection:Close\r\n\r\n");
SOCKET socketClient = socket(AF_INET,SOCK_STREAM,0);
if(socketClient == INVALID_SOCKET)
{
WSACleanup();
return;
}
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = inet_addr(ip);
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(80);
connect(socketClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
const int MLEN = 1024 * 230;
char recvBuf[MLEN]; send(socketClient,request,strlen(request),0);
int bytesRecv = 0;
int len=0;
while(bytesRecv != SOCKET_ERROR)
{
bytesRecv = recv(socketClient,recvBuf + len,MLEN-len,0);
if(bytesRecv == 0 || bytesRecv == WSAECONNRESET)
break;
if(bytesRecv < 0)
break;
len += bytesRecv;
}
closesocket(socketClient);
WSACleanup();
m_Edit_Content.SetWindowTextA(recvBuf);
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(2,2);
err = WSAStartup(wVersionRequested,&wsaData);
if(err != 0)
return;
if(LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2)
{
WSACleanup();
return;
} char request[200] = "GET ";// + url + " HTTP/1.1\r\nHost:" + host + "\r\nConnection:Close\r\n\r\n";
strcat_s(request,200,url);
strcat_s(request,200," HTTP/1.1\r\nHost:");
strcat_s(request,200,host);
strcat_s(request,200,"\r\nUser-Agent:DDotNet Spider");
strcat_s(request,200,"\r\nAccept:text/html");
strcat_s(request,200,"\r\nConnection:Close\r\n\r\n");
SOCKET socketClient = socket(AF_INET,SOCK_STREAM,0);
if(socketClient == INVALID_SOCKET)
{
WSACleanup();
return;
}
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = inet_addr(ip);
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(80);
connect(socketClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
const int MLEN = 1024 * 230;
char recvBuf[MLEN]; send(socketClient,request,strlen(request),0);
int bytesRecv = 0;
int len=0;
while(bytesRecv != SOCKET_ERROR)
{
bytesRecv = recv(socketClient,recvBuf + len,MLEN-len,0);
if(bytesRecv == 0 || bytesRecv == WSAECONNRESET)
break;
if(bytesRecv < 0)
break;
len += bytesRecv;
}
closesocket(socketClient);
WSACleanup();
m_Edit_Content.SetWindowTextA(recvBuf);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货