Webclient 没有从 URL c# 下载所有内容

Webclient isn't dowloading everything from URL c#

我正在尝试从 steam community market 中获取每个物品的名称(我是您买卖虚拟物品的市场,您可以在游戏中使用这些物品)。 Steam 对此有一个 API link,它表示 "total_count":15227,代表物品的数量。 但是当我尝试下载它时,我只得到 100 个项目。为什么? 我是这样下载的:

public static Task LoadAllItemsAsync()
{
     using (WebClient w = new WebClient())
     {
          var responseData = w.DownloadString("https://steamcommunity.com/market/search/render/?search_descriptions=0&sort_column=default&sort_dir=desc&appid=730&norender=1&count=500");
           //StatTrak™ FAMAS | Sergeant (Battle-Scarred)
           dynamic parsedJson = JsonConvert.DeserializeObject(responseData);
           string jsonData = JsonConvert.SerializeObject(parsedJson, Formatting.Indented);
                System.IO.File.WriteAllText(System.IO.Path.GetFullPath(@"..\..\SteamData\SteamItems.json"), jsonData);

           return Task.CompletedTask;
      }
 }

如果您查看响应,您会看到值为 100 的“pageSize”参数。

显然 100 是 steam 的最大页面大小 api returns.

{
   "success":true,
   "start":0,
   "pagesize":100,
   "total_count":15227,
   ......
}

因此,如果您想获取所有项目,您需要执行一个循环。您可以使用 START 和 TOTAL_COUNT 参数来计算偏移等

下面的 URL 会跳过前 100 项,return 会跳过后 100 项。

https://steamcommunity.com/market/search/render/?search_descriptions=0&sort_column=default&sort_dir=desc&appid=730&norender=1&count=100&start=100