获取网站返回信息 (POST/GET) 有没有代码吖. 比如登陆网页QQ 返回网页里函数的一些数据. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //================================================================= #include <iostream.h> #include <winsock2.h>#pragma comment(lib,"ws2_32.lib")bool InitSock();//=================================================================void main() { InitSock(); SOCKET httpsock = socket(AF_INET , SOCK_STREAM , IPPROTO_TCP); if (INVALID_SOCKET == httpsock) { cout<<"socket error !"<<endl; WSACleanup( ); } SOCKADDR_IN sock_addr = { 0 } ; sock_addr.sin_family = AF_INET ; sock_addr.sin_port = htons(80) ; sock_addr.sin_addr.S_un.S_addr = inet_addr("119.75.217.109"); //获得的IP地址 int res = connect(httpsock , (sockaddr *)&sock_addr , sizeof(sockaddr)); if (res == SOCKET_ERROR) { cout<<"connect error !"<<endl; closesocket(httpsock); WSACleanup( ); } char buf[] = "GET /index.html HTTP/1.1\r\n" "Host:http://www.baidu.com\r\n\r\n" ; // http请求头 int num = send( httpsock , buf , strlen(buf)+1 , 0 ) ; if (SOCKET_ERROR == num) { cout<<"send error !"<<endl; closesocket(httpsock); WSACleanup( ); } char recvbuf[2048] = {0} ; while(1) { num = recv(httpsock , recvbuf , 2048 , 0); if (SOCKET_ERROR == num) { break ; } else cout<<recvbuf; memset(recvbuf , 0 ,2048); } closesocket(httpsock); WSACleanup( ); }//==================================================================bool InitSock(){ WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 2, 2 ); err = WSAStartup( wVersionRequested, &wsaData ); if ( err != 0 ) { return false; } if ( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 ) { WSACleanup( ); return false; } return true; }获取百度首页内容 VC Picture 控件加载图像的问题(使用KoDak 图像编辑控件) 数据储存 线程传参数的问题 请教:我在VC中写了一个hash函数,运行之后我想知道我当前设置情况下hash表所占存储空间大小该如何做?谢谢! 请教一个网络编程问题。 如何设制打印区域?一句话说不清,大家请进来看看。 谁能告诉我这样把对话框的背景变成一个位图? 急!Clist的运用问题! 如何截取游息(DirectShow)和realplayer的屏幕??? vc下编写SERVER端的程序,Socket API实现如何多线程? VS2010下状态栏显示字体颜色 64位win7下通过远程线程卸载DLL的问题
#include <iostream.h>
#include <winsock2.h>#pragma comment(lib,"ws2_32.lib")
bool InitSock();
//=================================================================
void main()
{
InitSock(); SOCKET httpsock = socket(AF_INET , SOCK_STREAM , IPPROTO_TCP);
if (INVALID_SOCKET == httpsock)
{
cout<<"socket error !"<<endl;
WSACleanup( );
} SOCKADDR_IN sock_addr = { 0 } ;
sock_addr.sin_family = AF_INET ;
sock_addr.sin_port = htons(80) ;
sock_addr.sin_addr.S_un.S_addr = inet_addr("119.75.217.109"); //获得的IP地址 int res = connect(httpsock , (sockaddr *)&sock_addr , sizeof(sockaddr));
if (res == SOCKET_ERROR)
{
cout<<"connect error !"<<endl;
closesocket(httpsock);
WSACleanup( );
} char buf[] =
"GET /index.html HTTP/1.1\r\n"
"Host:http://www.baidu.com\r\n\r\n" ; // http请求头 int num = send( httpsock , buf , strlen(buf)+1 , 0 ) ;
if (SOCKET_ERROR == num)
{
cout<<"send error !"<<endl;
closesocket(httpsock);
WSACleanup( );
} char recvbuf[2048] = {0} ;
while(1)
{
num = recv(httpsock , recvbuf , 2048 , 0);
if (SOCKET_ERROR == num)
{
break ;
}
else cout<<recvbuf;
memset(recvbuf , 0 ,2048);
}
closesocket(httpsock);
WSACleanup( );
}//==================================================================
bool InitSock()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return false;
}
if ( LOBYTE( wsaData.wVersion ) != 2 ||
HIBYTE( wsaData.wVersion ) != 2 ) {
WSACleanup( );
return false;
}
return true;
}获取百度首页内容