提交html表单与文本区
本文关键字:文本区 表单 html 提交 | 更新日期: 2023-09-27 18:17:26
这是一个WindowsForm应用程序。我使用c#代码成功地从一个网站获取HTML字符串。
在HTML代码中,表单看起来像这样:<form id="editform" name="editform" method="post" action="/blablabla/index.php?title=title1&action=submit" enctype="multipart/form-data">
<textarea tabindex='1' accesskey="," name="Textbox1" id="Textbox1" rows='25' cols='80' >
item1;
item2;
....
</textarea>
<input id="wpSave" name="wpSave" type="submit" tabindex="5" value="Save page" accesskey="s" title="Save your changes" />
</form>
我试图使用
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(URL);
HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
...
这些方法可以成功地在"文本区域"内获取文本,但我坚持将编辑后的文本提交到原始网站。澄清一下,我想用我的WinForm应用程序在一个网站的HTML表单中编辑一个文本区域,并提交它。
使用c#修改"textarea"内的文本,并将更改后的文本提交到原始网站的最佳方法是什么?谢谢你。
修改自https://stackoverflow.com/a/19983672/1178781:
public static string postTextAre(string text, string postUrl) {
HttpClient httpClient = new HttpClient();
MultipartFormDataContent form = new MultipartFormDataContent();
form.Add(new StringContent(text), "Textbox1");
form.Add(new StringContent("Save page"), "wpSave");
HttpResponseMessage response = await httpClient.PostAsync(postUrl, form);
response.EnsureSuccessStatusCode();
httpClient.Dispose();
return response.Content.ReadAsStringAsync().Result;
}
如果你不想使用HttpClient
,你可以重新使用https://stackoverflow.com/a/20000831/1178781的答案,只是调整代码,使它不上传图片-只需提交Textbox1
的值。