如何以編程方式瀏覽頁面?

c# html-agility-pack

我已經看過很多關於如何獲取URI內容的例子。我也經常使用HTMLAgilityPack。我想要的是為asp網站創建單元測試環境。

我已經看過BrowserSession和這個問題但是,雖然過程似乎很好,但他們沒有登錄網站。我嚐過很多知名網站。

關於如何瀏覽代碼的任何想法?

熱門答案

聽起來您想要在網頁上提交表單並查看結果頁面的響應HTML。

此方法將採用表單目標URL並在parms Dictionary中提交具有給定命名參數的帖子。

我使用下面的方法在網頁上執行密碼驗證,並在驗證後查看響應。您需要知道目標網址以及您希望在請求中傳遞的表單字段。

private string SubmitRequest(string url, Dictionary<string, string> parms)
{
    var req = WebRequest.Create(url);
    req.Method = "POST";

    string parmsString = string.Join("&", parms.Select(p => string.Format("{0}={1}", p.Key, p.Value)));
    req.ContentLength = parmsString.Length;

    using (StreamWriter writer = new StreamWriter(req.GetRequestStream()))
    {
        writer.Write(parmsString);
        writer.Close();
    }

    var res = req.GetResponse();

    using (StreamReader reader = new StreamReader(res.GetResponseStream()))
    {
        string response = reader.ReadToEnd();
        reader.Close();
        return response;
    }
}

如果您想要更具體的東西,或者這不是您想要的,那麼請發表評論。



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因