[英]HttpClient GetStringAsync results are inconsistent
我有一個非常簡單的控制台應用程序,用戶可以在其中輸入 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();
}
僅當提供的 url 未指向現有配置文件時,文本“Twitch is the world”才會存在於結果中。 我遇到的問題是 HttpClient 第一次似乎只返回“正確”的結果。 例如,我啟動程序並輸入“xqc”。 這會給我結果
User exists: True
但是,如果我現在嘗試再次輸入“xqc”(或任何其他現有的配置文件名稱),它將始終導致以下結果
User exists: False
我檢查了實際的字符串,它發生的原因是,由於某種原因,在第一個請求之后發出的每個請求都會返回 Twitch 的配置文件未找到頁面。 我不明白為什么會發生這種情況。 有什么我遺漏的東西,還是我應該在這里使用其他東西而不是 HttpClient?
Console.ReadKey()
正在消耗您輸入的第一個字符,因此第二次字符串用戶名將不包含“xqc”,而是“qc”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.