簡體   English   中英

從網絡瀏覽器轉到網絡請求

[英]Going from web browser to web request

我正在開發一個程序,該程序可以在瀏覽器中自動執行任務,例如輸入文本,單擊等,現在在使用Visual Studio 2010中的Web瀏覽器工具時,一切工作正常。

我想知道的是我應該如何轉換所有這些,以便可以使用發送請求而不是瀏覽器? 如果您要使用多線程,我聽說它效率更高,更好很多,但是我有很多代碼現在可以正常工作了,並且不確定在不抓取太多代碼的情況下應該如何做。

您將使用HttpWebRequest / HttpWebResponse向服務器發送HTTP請求,然后使用HttpWebResponse.GetResponseStream()檢索文檔正文。 然后,使用HTML框架(例如HtmlAgilityPack )來解析HTML並獲取文檔的DOM圖,然后可以遍歷DOM來提取數據並為所有隨后的請求創建請求主體,並將其返回給服務器。

如果響應文檔是有效的XML(例如XHTML1.1),則可以通過將其加載到System.Xml.XmlDocument中來節省一些時間,但是在實踐中HTML文檔經常包含錯誤,並且像HtmlAgilityPack這樣的框架比System更能容忍解析器錯誤。 Xml。

關於多線程,您可以同時觸發多個HttpWebRequest(每個請求都與自己的線程關聯,或使用Async方法)。 請注意,您將需要進行一些設置以覆蓋.NET網絡庫中存在的“每個主機兩個並發HTTP請求”策略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM