簡體   English   中英

HttpClient GetStringAsync 結果不一致

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM