有没有代码吖.  比如登陆网页QQ 返回网页里函数的一些数据.

解决方案 »

  1.   

    //================================================================= 
    #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;
    }获取百度首页内容