谢谢!

解决方案 »

  1.   

    在建立会话后就可以利用CInternetSession::OpenURL打开一个URL,并读取数据,函数原型为: CStdioFile* OpenURL( LPCTSTR pstrURL, //文件URL地址
    DWORD dwContext = 1, //上下文ID
    DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII, //标记
    LPCTSTR pstrHeaders = NULL, //发送到服务器的数据头
    DWORD dwHeadersLength = 0 );//发送到服务器的数据头长度dwFlags可以为: 
    INTERNET_FLAG_RELOAD 强制重读数据 
    INTERNET_FLAG_DONT_CACHE 不保存到缓存 
    INTERNET_FLAG_TRANSFER_ASCII 使用文本数据 
    INTERNET_FLAG_TRANSFER_BINARY 使用二进制数据 OpenURL的返回值为CStdioFile文件指针,函数会根据使用的协议返回不同的文件类指针,但这些类都是CStdioFile的派生类。 
      

  2.   

    void CSp_14Dlg::GetURL(void)
    {
    UpdateData();
    CInternetSession sess;//建立会话
    CHttpFile* pF=(CHttpFile*)sess.OpenURL(m_szURL);//打开文件
    CString szData,szAllData;
    while(pF->ReadString(szData))
    {//读取文件
    szAllData+="\r\n";
    szAllData+=szData;
    }
    pF->Close();
    sess.Close();
    m_szHTML=szAllData;
    UpdateData(FALSE);
    }
      

  3.   

    CString strHeaders = 
         _T("Content-Type: application/x-www-form-urlencoded"); 
         // URL-encoded form variables - 
         // name = "John Doe", userid = "hithere", other = "P&Q" 
         CString strFormData = _T("name=John+Doe&userid=hithere&other=P%26Q"); 
         
         CInternetSession session; 
         CHttpConnection* pConnection = 
         session.GetHttpConnection(_T("ServerNameHere")); 
         CHttpFile* pFile = 
         pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST, 
         _T("FormActionHere")); 
         BOOL result = pFile->SendRequest(strHeaders, 
         (LPVOID)(LPCTSTR)strFormData, strFormData.GetLength()); 
         
      

  4.   

    可以通过WinInet类与Internet服务器建立连接、查询或接收文件,也可向服务器发送文件。使用WinInet类CInternetSession的对象,如果用协议HTTP、FTP或Gopher资源地址,URL (Uniform Resource Locator)可不必连接服务器,直接调用成员函数OpenURL()来得到一个只读的资源文件(CInternetFile),然后用CStdioFile类的成员函数去处理这些数据。如果想对服务器的内容进行更多的处理,可用CInternetConnection类的函数Get Ftp Connection ()、GetGopherConnection() 或GetHttpConnection()来实现每一种协议的连接处理,从中可见MFC类网络编程的强大功能。
      

  5.   

    多谢你,老刘。对于您第三篇的回复中:     CInternetSession session; 
         CHttpConnection* pConnection = 
         session.GetHttpConnection(_T("ServerNameHere")); 
         CHttpFile* pFile = 
         pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST, 
         _T("FormActionHere")); "ServerNameHere" 和 "FormActionHere" 该怎么写?譬如我想实现以下表单提交,该怎么具体实现:<form name=f action=http://www1.baidu.com/baidu>
    <input type=hidden name=cl value=3>
    <input type=hidden name=tn value=baidu>
    <input type=text name=word class=ff size=35>  
    <input type=submit value=百度搜索 name="submit">
    </form>谢谢!