久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

使用 InternetReadFile 來獲取文件 | 學(xué)步園

 復(fù)仇者聯(lián)盟豬豬 2020-06-19
這是 HTTP 服務(wù)器特定錯誤,。 MicrosoftIIS 當(dāng)沒有正確接受頭時可能返回該錯誤: * 接受 " / * ") (HTTP 請求中,。 可以以下列來添加這些標(biāo)頭:
   InternetOpenUrl(),
   HttpSendRequest(),
   HttpAddRequestHeaders()
				

注意,, 其他 HTTP 服務(wù)器可能或不以相同方式行為,。 以下代碼演示了如何傳輸任何類型的文件與 WinInet API:

   BOOL GetFile (HINTERNET IN hOpen, // Handle from InternetOpen()
                 CHAR *szUrl,        // Full URL
                 CHAR *szFileName)   // Local file name
   {
       DWORD dwSize;
       CHAR   szHead[] = "Accept: */*/r/n/r/n";
       VOID * szTemp[25];
       HINTERNET  hConnect;
      FILE * pFile;

       if ( !(hConnect = InternetOpenUrl ( hOpen, szUrl, szHead,
             lstrlen (szHead), INTERNET_FLAG_DONT_CACHE, 0)))
       {
         cerr << "Error !" << endl;
           return 0;
       }

       if  ( !(pFile = fopen (szFileName, "wb" ) ) )
      {
           cerr << "Error !" << endl;
          return FALSE;
      }
       do
       {
          // Keep coping in 25 bytes chunks, while file has any data left.
          // Note: bigger buffer will greatly improve performance.
          if (!InternetReadFile (hConnect, szTemp, 50,  &dwSize) )
          {
              fclose (pFile);
             cerr << "Error !" << endl;
            return FALSE;
          }
          if (!dwSize)
              break;  // Condition of dwSize=0 indicate EOF. Stop.
          else
             fwrite(szTemp, sizeof (char), dwSize , pFile);
       }   // do
      while (TRUE);
      fflush (pFile);
      fclose (pFile);
      return TRUE;
   }

相同任務(wù)可完成與 WinInet MFC 類: 以下列方式

   #include <afx.h>
   #include <afxinet.h>

   BOOL  GetFile (CHAR *szUrl, CHAR *szFileName)
   {
   TCHAR sz[1024];
   CInternetSession session (_T("MyTest agent"), 1,
     INTERNET_OPEN_TYPE_DIRECT);
   CStdioFile* pFile = NULL;
   CHAR   szHead[] = "Accept: */*/r/n/r/n";
       DWORD nRead;
   CFile myFile;
   CFileException fileException;

   if ( !myFile.Open (szFileName, CFile::modeCreate | CFile::modeReadWrite,
      &fileException ) )
   {
   cerr << "Can't open file: " << szFileName
    << " error = " << fileException.m_cause  <<"/n";
   return FALSE;
   }

   try
   {
   pFile = session.OpenURL (szUrl, 1, INTERNET_FLAG_RELOAD
   |INTERNET_FLAG_TRANSFER_BINARY,
    szHead, -1L);

   }
   catch (CInternetException *pEx)
   {
   cerr <<"OpenUrl failed: "<< pEx-> m_dwError << endl;
   return FALSE;
   }

       do
   {
   nRead = pFile->Read(sz, 1023);
   if (nRead != 0)
   myFile.Write (sz, nRead);
   }
   while (nRead != 0);
   myFile.Close();
   pFile->Close();
   if (pFile != NULL)
   delete pFile;
   session.Close();
   return TRUE;
   }
 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多