【发布时间】:2009-04-27 14:29:37
【问题描述】:
我不熟悉在 C# 中使用库 WebClient、HttpResponse 和 HttpRequest,如果我的问题难以阅读,请耐心等待。
我需要构建一个基于 C# 的 WinForm,它可以打开一个 URL,该 URL 受到基本授权的保护。我通过将其添加到标题中来做到这一点,如下所示:
using (WebClient wc = new WebClient())
{
wc.Headers.Add(HttpRequestHeader.Authorization, "Basic " +
Convert.ToBase64String(
Encoding.ASCII.GetBytes(username + ":" + password)));
}
到目前为止,一切都很好!现在我想用一个数字填写一个表格,我从网站上找到源代码,发现名字是“数字”。所以我写了这个:
NameValueCollection formData = new NameValueCollection();
formData["number"] = number
byte[] responseBytes = wc.UploadValues(theurl, "POST", formData);
string response = Encoding.ASCII.GetString(responseBytes);
textBox_HTML.Text = response;
但是我该如何提交呢?我想收到我的“搜索结果”...
【问题讨论】:
-
(回复您的问题已添加)
-
所以我可以澄清一下 - 您想将“响应”视为 HTML 表单并从中进行 POST 吗?相反,使用表格知识会更容易 - 这可能吗? (使用 Fiddler 之类的东西)。如果您必须使用实际的表单,则最好使用
WebBrowser之类的东西来使用实际的浏览器/DOM 会话(而不是 http,它对 html 一无所知)。跨度>