[英]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.