使用textarea提交html表单

时间:2016-11-11 19:55:47

标签: c# html winforms web

这是一个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”内的文本并将更改的文本提交到原始网站的最佳方法是什么?谢谢。

1 个答案:

答案 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}}。