簡體   English   中英

C#HTTPClient表單發布和提交問題

[英]C# HTTPClient Form Post and Submit Issue

我正在嘗試用簡單的形式對php網站進行一些輕量級的屏幕抓取,以簡化我的研究工作。 該頁面具有一個簡單的表單,其中包含三個字段和一個提交按鈕。

當我運行代碼時,將返回原始頁面,就像我什么都沒提交一樣。 我還嘗試在php網址后以?name = etc ...的形式粘貼在字段中,但這也使我返回到原始頁面,就好像我沒有按下提交按鈕一樣。

這是我當前的代碼:

private async void postRequest(string url)
    {
        using (HttpClient client = new HttpClient())
        {
            var values = new List<KeyValuePair<string, string>>();
            values.Add(new KeyValuePair<string, string>("case_type", "55"));
            values.Add(new KeyValuePair<string, string>("petname", "singh"));
            values.Add(new KeyValuePair<string, string>("year", "2016"));
            values.Add(new KeyValuePair<string, string>("button", "Submit"));

            var content = new FormUrlEncodedContent(values);

            var response = await client.PostAsync(url, content);
            var responseString = await response.Content.ReadAsStringAsync();

            using (StreamWriter post = new StreamWriter("post_website.txt"))
            {
                post.WriteLine(responseString);
            }
        }
    }

提交后的Chrome Dev Tools屏幕截圖 我刪除了部分網址,這是一個公共信息網站,但是為了以防萬一。

我認為我做錯了什么,因為我已經基本自學了C#,這是我第一次嘗試做與C#相關的任何網絡。

我在這里在StackOverflow上發現了一個類似的問題: 填寫C#和Post Error ,但是此代碼也不起作用,我也不認為需要cookie。 我已經嘗試過其他各種關於對服務器使用HttpClient和WebClient POST請求的StackOverflow答案,但是沒有一個起作用。

在此先感謝您的任何建議或見解。

lc使我走上了正確的道路。 我對接收表單輸入的內容做出了一些錯誤的假設。 顯而易見,現在我也應該嘗試使用結果頁網址。 我想是時候去學習更多的php和網頁設計了。

暫無
暫無

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

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