gpt4 book ai didi

c# - 如何在 C# 中使用 Webclient 填写表单并提交

转载 作者:IT王子 更新时间:2023-10-29 04:15:10 24 4
gpt4 key购买 nike

我刚开始使用 C# 中的 WebClient、HttpResponse 和 HttpRequest 库,如果我的问题难以阅读,请多多包涵。

我需要建立一个基于C#的WinForm,它可以打开一个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;

但是我该如何提交呢?我希望收到我的“搜索结果”...

最佳答案

您可能应该使用 HttpWebRequest为了这。这是一个简单的例子:

var strId = UserId_TextBox.Text;
var strName = Name_TextBox.Text;

var encoding=new ASCIIEncoding();
var postData="userid="+strId;
postData += ("&username="+strName);
byte[] data = encoding.GetBytes(postData);

var myRequest =
(HttpWebRequest)WebRequest.Create("http://localhost/MyIdentity/Default.aspx");
myRequest.Method = "POST";
myRequest.ContentType="application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
var newStream=myRequest.GetRequestStream();
newStream.Write(data,0,data.Length);
newStream.Close();

var response = myRequest.GetResponse();
var responseStream = response.GetResponseStream();
var responseReader = new StreamReader(responseStream);
var result = responseReader.ReadToEnd();

responseReader.Close();
response.Close();

关于c# - 如何在 C# 中使用 Webclient 填写表单并提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/793755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com