WebClient 无效请求 400 url

WebClient bad request 400 on valid url

我正在尝试访问此 url“http://steamcommunity.com/market/pricehistory/?country=us&currency=3&appid=730&market_hash_name=AK-47%20%7C%20Black%20Laminate%20(Minimal%20Wear)”。

它在我的 chrome 浏览器中有效,但出于某种原因在 IE 中无效。此外,它在我的代码中不起作用:

using (var w = new WebClient())
        {
            w.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36");
            w.Headers.Add(HttpRequestHeader.ContentType, "application/json; charset=utf-8");
            var json_data = string.Empty;
            // attempt to download JSON data as a string
            try
            {
                json_data = w.DownloadString("http://steamcommunity.com/market/pricehistory/?country=DK&currency=3&appid=730&market_hash_name=AK-47%20%7C%20Black%20Laminate%20(Minimal%20Wear)");
            }

json_data 始终只是一个空字符串。我认为这与缺少 UserAgent 有关,但添加 header 没有帮助。你们认为可能是什么问题?

谢谢

这不是有效的 URL。通过 Postman 或其他 REST 工具尝试 运行 它,无论如何你都会看到 returns 400 Bad Request。 Chrome 恰好在浏览器中显示 [] 而不是显示错误消息。您是否申请了 Steam API 密钥?

http://steamcommunity.com/dev

很少有 API 允许 public 访问而无需您在请求中包含令牌。我在你的代码中没有看到你附加它的任何地方,所以我假设没有。我建议你报名参加他们的计划。