Mac*_*acA 1 c# httpclient web-scraping
我有一个非常简单的控制台应用程序,用户可以在其中输入 Twitch 用户的名称,以查看是否存在具有该名称的 Twitch 个人资料。这是代码:
while (true)
{
string username = Console.ReadLine();
HttpClient client = new HttpClient();
string result = await client.GetStringAsync($"https://www.twitch.tv/{username}");
Console.WriteLine("User exists: " + !result.Contains("Twitch is the world"));
Console.ReadKey();
}
Run Code Online (Sandbox Code Playgroud)
仅当提供的网址未指向现有个人资料时,文本“Twitch is the world”才会存在于结果中。我遇到的问题是 HttpClient 似乎只在第一次返回“正确”的结果。例如,我启动程序并输入“xqc”。这会给我结果
User exists: True
Run Code Online (Sandbox Code Playgroud)
但是,如果我现在尝试再次输入“xqc”(或任何其他现有的配置文件名称),它总是会产生以下结果
User exists: False
Run Code Online (Sandbox Code Playgroud)
我检查了实际的字符串,它发生的原因是,由于某种原因,第一个请求之后发出的每个请求都会返回 Twitch 的个人资料未找到页面。我不明白为什么会发生这种情况。是否有我遗漏的东西,或者我应该在这里使用其他东西而不是 HttpClient?
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |