gpt4 book ai didi

c# - 如何使用 HttpClient 发帖?

转载 作者:行者123 更新时间:2023-11-30 22:16:02 28 4
gpt4 key购买 nike

我可以使用 HttpClinet 类获取网页,如下所示:

HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync(@"http://59.185.101.2:10080/jsp/Login.jsp");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();

该页面将呈现两个文本框,即用户名和密码。它还会渲染许多隐藏变量。

我想将呈现的 Html 发布到所需地址,但使用我自己的用户名和密码值。 (保留其余的隐藏变量)

我该怎么做?


PS:这是一个控制台应用程序 POC

最佳答案

您可以使用 PostAsync 方法:

using (var client = new HttpClient())
{
var content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("username", "john"),
new KeyValuePair<string, string>("password", "secret"),
});
content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");

var response = await client.PostAsync(
"http://59.185.101.2:10080/jsp/Login.jsp",
content
);
response.EnsureSuccessStatusCode();
var responseBody = await response.Content.ReadAsStringAsync();
}

您必须在 FormUrlEncodedContent 内容实例中提供服务器端脚本所需的所有必要输入参数。

就隐藏变量而言,您必须使用 HTML Agility Pack 等 HTML 解析器解析从第一次调用中检索到的 HTML,并将它们包含在 POST 请求的集合中。

关于c# - 如何使用 HttpClient 发帖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17672216/

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