我知道我們可以通過curl http://curl.haxx.se/來檢索網頁內容,但是有沒有使用C++檢索網頁內容而不使用任何庫的本地方法?有沒有什麼辦法可以使用C++來讀取網頁
回答
爲了建立網絡連接(我將OS API作爲庫計數),您總是需要某種類型的庫。這且不說,你還必須是:
- 建立與服務器的連接
- 發送一個HTTP請求
- 接收和處理HTTP響應
您可以手動執行這些步驟,但這真的很痛苦,尤其是因爲http is quite a complex protocol(即使你只實現了你實際使用的東西,剩下的東西也足夠了)。
+1:明智的答案。 @sarvan:即使你自己實現HTTP,你很可能忘記了實現一些重要的東西(我想到的是「HTTP重定向」)。幫你一個忙,使用現有的和已知工作的庫,如捲曲。 – ereOn 2011-03-21 10:55:57
如果你使用Windows,你可以使用下面的功能
InternetOpen() - 初始化應用程序使用的WinInet函數。 http://msdn.microsoft.com/en-us/library/aa385096(VS.85).aspx
InternetOpenUrl() - 打開由完整的FTP,Gopher或HTTP URL指定的資源。 http://msdn.microsoft.com/en-us/library/aa385098(VS.85).aspx
的InternetReadFile() - 從由InternetOpenUrl中 http://msdn.microsoft.com/en-us/library/aa385103(VS.85).aspx
InternetCloseHandle()打開的句柄讀取數據 - 關閉一個Internet處理 http://msdn.microsoft.com/en-us/library/aa384350(VS.85).aspx
希望它可以幫助
PS:或你可以使用更方便的功能
URLDownloadTo文件() - 從Internet上下載位並將它們保存到文件中。 http://msdn.microsoft.com/en-us/library/ms775123(v=vs.85).aspx
- 1. 有沒有什麼辦法可以使用fscanf來讀取下面的空格?
- 2. 有沒有什麼辦法可以在我的網頁中使用Visio 2013
- 3. 有沒有什麼辦法可以在ScrollView之外使用SliverGrid?
- 4. 有沒有什麼辦法可以在函數中使用get_sidebar?
- 5. 有沒有什麼辦法可以從八度使用.net .dlls?
- 6. 有沒有什麼辦法可以使用li:first-child和li:hover
- 7. 有沒有什麼辦法可以使用PDO獲取上次提取的ID
- 8. 有沒有什麼辦法可以讓我的C#XMLManager工作?
- 9. 有沒有什麼辦法可以放大c#中的按鈕?
- 10. 有沒有什麼辦法可以使用WebBrowser Class(Band Objects)來編寫DOM?
- 11. 有沒有什麼辦法可以在codeigniter的同一頁上獲取數據
- 12. C#有沒有辦法可以&& =?
- 13. 有沒有什麼辦法可以找到新增的設備使用asp.net C#
- 14. 有沒有什麼辦法可以使用HttpUrlConncetion正確獲取上傳進度
- 15. 有沒有辦法通過登錄信息讀取C#網站
- 16. 有沒有什麼辦法可以用git log來顯示遠程引用?
- 17. 有沒有什麼辦法用C#讀取PDF中表格的特定列
- 18. 有沒有什麼辦法可以查看應用程序
- 19. 有沒有什麼辦法可以用php的
- 20. 有沒有什麼辦法可以用Tag Helper創建循環?
- 21. 有沒有什麼辦法可以用Sourcesafe創建配置項
- 22. 有沒有什麼方法可以使用AS3讀取pdf? (空氣)
- 23. 有沒有什麼辦法可以用大寫字母來創建JSON對象?
- 24. 有沒有什麼辦法可以用Jasmine或Sinon來模擬這個功能?
- 25. 在java中有沒有什麼辦法來使用和代替&&
- 26. 有沒有什麼辦法來檢查類的屬性在C#
- 27. 有沒有什麼辦法可以在以後使用Twilio發送短信
- 28. 有沒有什麼辦法可以從C++中的用戶數組大小?
- 29. 有沒有什麼辦法可以在非Activity類中使用openFileOutput()方法?
- 30. 有沒有辦法使用用戶的互聯網歷史來呈現網頁?
確實有,但爲什麼重新發明輪子? – Unicron 2011-03-21 10:22:48
是的,你只需要實現捲曲! – 2011-03-21 10:25:39