Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c中从httpwebrequest获取垃圾内容#_C#_.net_Httpwebrequest_Html Agility Pack - Fatal编程技术网

C# 在c中从httpwebrequest获取垃圾内容#

C# 在c中从httpwebrequest获取垃圾内容#,c#,.net,httpwebrequest,html-agility-pack,C#,.net,Httpwebrequest,Html Agility Pack,我试图使用HtmlAgilityPack读取HttpWebRequest的响应内容,但不知何故它显示垃圾或其他编码字符,请帮助我如何读取内容 我得到的内容是: “u001f\0\0\0\0\0\0\0\0\0\0\0\0 0\0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

我试图使用
HtmlAgilityPack
读取
HttpWebRequest
的响应内容,但不知何故它显示垃圾或其他编码字符,请帮助我如何读取内容

我得到的内容是:

“u001f\0\0\0\0\0\0\0\0\0\0\0\0 0\0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0001Lö206JÚž!(Ó-=y~v'~)本月初的一名男子在街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上的街上2[^öñ·o?Jío\u0004 \“fG\u008f\u203fùbù6òò³\u008f\u0016Ù²8Ï›tçŸ}本月10日的一名研究者在本月12日的一名研究者在本月12日的一名研究者在本月12日的一名研究者在本月12日的一名研究者在本月12日的一名研究者在本月12日的一名研究者在本月20日的一名研究者在本月12日的研究者在本月18日的研究者在本月18日的研究者在本月18日的研究者在本月20日的其他其他其他其他其他其他其他其他其他其他的研究者在本月20日的两名研究者在本月20日的研究者在本月20日的研究者在本月20日的研究者在本月20日日的其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他的研究者在本月的研究者在本月的研究者在本月的研究者在本月的研究者在该该该该该该该该该该该该该名研究者在本本月的其他其他其他¼挈eF\u007f\u007f挈h卨卨卨bÜÎÎëeÌg挈eF\u007f\u007f卨h卨eÎg挈eÌ7挈y挈yU u卨uØ卨Ø卨卨卨Ø卨卨™_徖™ë4\u007fwdm“\u0016ËAô:ü\u008d\u007fìoì:ü^1ë>!VáSFÎÎ\u0017ÕeN\u001fù184;\u0002\A

我的代码

                HttpWebRequest requestTransaction;
                Uri uriTransact = new Uri(Url);
                requestTransaction = (HttpWebRequest)WebRequest.Create(uriTransact);
                requestTransaction.ContentType = "application/x-www-form-urlencoded";
                requestTransaction.Method = "Post";
                requestTransaction.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
                requestTransaction.KeepAlive = true;
                requestTransaction.Headers.Add("Cache-Control", "no-cache");
                requestTransaction.CookieContainer = cookies;
                requestTransaction.Headers.Add("Upgrade-Insecure-Requests", "1");
                requestTransaction.Headers.Add("Accept-Encoding", "gzip, deflate, br");
                requestTransaction.Headers.Add("Accept-Language", "en-US,en;q=0.9");
                requestTransaction.Host = host;
                requestTransaction.Headers.Add("Origin", requestOrigin);
                requestTransaction.Referer = requestReferer
                requestTransaction.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36";


                byte[] sentData2 = Encoding.UTF8.GetBytes(postData2);
                requestTransaction.ContentLength = sentData2.Length;
                using (System.IO.Stream sendStream = requestTransaction.GetRequestStream())
                {
                    sendStream.Write(sentData2, 0, sentData2.Length);
                    sendStream.Close();
                }
                 using (var response = requestTransaction.GetResponse() as HttpWebResponse)
                {
                    var doc = new HtmlAgilityPack.HtmlDocument();
                    doc.Load(response.GetResponseStream());
                }

在检查
doc.DocumentNode.InnerHtml之后,我得到了上面的内容。

我遇到了同样的问题,结果是响应被压缩了。您可以删除

requestTransaction.Headers.Add("Accept-Encoding", "gzip, deflate, br");
不太确定br或您可以添加

webRequest.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

到您的HttpWebRequest,顾名思义,它将自动解压缩响应。

您确定
编码。UTF8
是正确的编码吗?是的,因为我正在使用另外3个API,并且相同的代码正在处理它们。这个符号
\u001f
是UTF-16,那么,如何从中获取所需的html内容?使用
UTF16按照我们的建议进行编码。