c# - .NET 5 HttpClient 无法获取 html 内容页面 - http 500
问题描述
我正在尝试使用 HttpClient 来获取页面的 html 内容。尝试我用谷歌 URL 测试的方法,它正在工作,我收到了我的 html 页面的内容。但是有了我想要的 url,就不可能得到内容。我每次都有一个返回码 http 500。问题是,我可以使用 POSTMAN 甚至使用 python 获取文件的内容,但使用 .NET5 是不可能的
有人知道吗?先感谢您。
private static readonly HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
try
{
HttpResponseMessage response = await client.GetAsync("https://www.naeu.playblackdesert.com/fr-FR/Adventure/Profile?profileTarget=tbXSK7e39Sb3U3yPi7UDjjSeXLzr0HZbr%2bvZQYvtEENKNEz6zPFwtpkvp0pIir%2fk%2fWk7JFLXKICyzqEBwajIrTCHQPFH4MRyBkor2fVeMAb8hNGoasy8HtBiHlcoWN1xRsmmYjVt6WbJg2ocvr%2fbsQk2sbjKeD5a7VqgreAH0ztzMvoFqk7Z%2fZ7L4USyu5Up");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch(HttpRequestException e)
{
Console.WriteLine("\nException Caught!");
Console.WriteLine("Message :{0} ",e.Message);
}
}
解决方案
像这样指定用户代理。
client.DefaultRequestHeaders.Add("User-Agent", "C# console program");
在 HttpResponseMessage response = await client.GetAsync 行之前
推荐阅读
- javascript - 如何使用烧瓶在 mysql 数据库中插入多行发票
- excel - 为什么它不返回 INDEX 公式的值?
- javascript - react native:什么是正确的方法,使键盘不在文本输入上?
- java - new Class[]{} 和 new Class[0] 有区别吗?
- sql - PostgreSQL - 一对一 - 哪种方法“更好”?
- css - 使用 vue.js 显示 SCSS 样式的问题
- c - C:当向用户询问 2 个输入时,第二个问题不会提示将输入存储在变量中
- rasa-nlu - 电子邮件地址的正则表达式代码,以及如何将其与我的反馈表链接
- javascript - 如果值大于或等于指定值,则启用提交按钮
- angular - 如何获取验证规则 FormControl?