有可能導致HttpQueryInfo 執行時出現12150 錯誤的一個原因

來源:互聯網
上載者:User

     WInInet 是微軟對FTP HTTP 協議做封裝庫。通過WInInet 系列函數可以方便的實現基於HTTP FTP協議的檔案上傳下載。最近做了一個項目也是用到了WInInet實現HTTP協議的檔案下載。在此過程中調用HttpQueryInfo可以查詢服務器返回的HTTP頭中的訊息。HttpQueryInfo 本身是針對伺服器HTTP頭內容的解析函數。該函數實際上是對在緩衝在本地的HTTP頭內容進行解析,並向調用者返回指定的內容。

     實際操作中發現,HttpQueryInfo函數經常會返回 12150 錯誤,也就是 "The requested header was not found"。比如查詢"Content-Length"時。網上的文章多數會提示程式員,當HTTP頭中不含有"Content-Length"時,會導致此問題。我遇到的情況是,通過WireShark抓包發現HTTP頭中確有"Content-Length",但是HttpQueryInfo就是查不到的情況。後經調試發現,在調用 InternetConnect 函數時,第二個參數要求傳入HTTP伺服器網域名稱,若此時傳入的網域名稱帶有http://協議頭,那麼就會導致HttpQueryInfo執行失敗。若單獨寫入網域名稱,就正常。比如:給InternetConnect 函數的第二個參數傳入http://down.360safe.com/ 就會導致HttpQueryInfo的執行失敗;若傳入的是down.360safe.com 則執行成功。

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.