这是一个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();
...
这些方法可以成功获取“textarea”中的文本,但我仍然坚持将编辑后的文本提交到原始网站。为了澄清,我想使用我的WinForm应用程序在网站的HTML表单内编辑textarea,并提交它。
使用C#修改“textarea”内的文本并将更改的文本提交到原始网站的最佳方法是什么?谢谢。
答案 0 :(得分:0)
从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的广告,只需调整代码,使其不上传图片 - 只需提交{{{ 1}}。