Csharp/C#教程:奇怪的HttpClient结果分享


奇怪的HttpClient结果

当试图从Hitbox API获取数据时,我得到一个奇怪的结果。 对于一个API的命令,它每次都会发生,有时只发生另一个。 结果或多或少那样(这是我得到的最后一个结果):

u001f B 0 0 0 0 0 0 U0003콋w8sΜmu〜SNT&Ng6C Ͷ$ z%9igf [( u0005 u000f (: 6 u000f bP C u0015 n u007f V u007f d h2_&nj,呎 u00177 u0019 SKP | ^ w9w2 u06054Ƿ&u0015ƛXo u0014 [二 u0011onVP u0005e u000e u05ca l / ⇝ % u u s = w zu0003 a SR, s 1 ůdž 2~.6u0006T> fR l ( u0017 GHoV &/ m# 'u0013 C N/ E|Q u0012 3+ 6u0003zu0012 q> { _ eW 7u0016 rsIwu0012u0018&u0017 V u000f Ŀu001f e u0002A Zg Uu0006 \gu0015 VP u.E8Hj u0015 VP u.E8Hj LA /͋ | ; xk u001eǣZ 3y u00019 u0017 īu0002 ڜ u O] v XA { u0004 K lou0016 %t u0006 <{ ̆O = u0017 u0017 u0015%$G “Oϡ u007f ^̹hH q 8 u0001 6 u0015 y { S 4+ pb-\eI bB]^ u001f { jՊx u0004 u0001 º QD u001eK u0001; u0002 + Y ! a u001a (()>e ש r0T? u001f Q 5t R u0005 u001f( lu0013 v R- nU的?߭_&L> R0(N4))/ UC3 <U u0013 u001f u0002ȱ^ N6ד克/'ͧrP u001f f4y〜 u0005 = V3 u001c; k U0002}'M u001ccoG_ u0003b 4`

它要长得多,但复制它(大约30000个字符)是没有意义的。

我用来获取json结果的代码是:

 string result; using (var client = new HttpClient()) { client.BaseAddress = new Uri(hitboxApiLink); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = client.GetAsync(requestString).Result; result = response.Content.ReadAsStringAsync().Result; } return result; 

我以前用过这个:

 HttpWebRequest request = (HttpWebRequest) WebRequest.Create(Path.Combine(hitboxApiLink, requestString)); request.KeepAlive = false; request.ContentType = "application/json; charset=utf-8"; WebResponse response = request.GetResponse(); using(StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) { result = reader.ReadToEnd(); } 

它返回相同的。 但是,当我尝试使用Google Chrome或Internet Explorer获取数据时,它会返回正常结果。 api是: http : //developers.hitbox.tv/

我尝试从中获取数据的链接是: https : //api.hitbox.tv/media/live/list

响应是GZIPped(即使请求中的Accept-Encoding标头未指定,因此从技术上讲,这是服务器上的错误)。

您可以通过在触发请求之前添加以下行来修复您的第二个示例:

 request.AutomaticDecompression = DecompressionMethods.GZip; 

这应该为您提供了解如何解压缩HttpClient版本响应所需的一切 。

上述就是C#学习教程:奇怪的HttpClient结果分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/951016.html

(0)
上一篇 2021年11月18日
下一篇 2021年11月18日

精彩推荐