0

オーケー、これが関数全体ですが、読み取った値が非常に正しくありません。何が問題なのかわかりません。

編集 OK、gzip 圧縮に関する問題のようです。GetResponseStream を解凍するにはどうすればよいですか?

    public static List<object> func_DoHTTPWebRequest(PerVotingSite myPerVote, string srUrl, string srCookiePrev = "", string srRefererParameter = null,
        string srBrowserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31")
    {
        try
        {
            srUrl = "http://stackoverflow.com/"; // for testing purposes
            string srReferer = myPerVote.srReferer;
            if (srRefererParameter != null)
                srReferer = srRefererParameter;
            bool blKeepAlive = myPerVote.blKeepAlive;

            int irRequestTimeOut = myPerVote.irRequestsTimeOut;
            if (irRequestTimeOut == 0)
                irRequestTimeOut = OtomatikVoter.irTimeOut;

            bool blKeepCookies = myPerVote.blKeepCookies;

            HttpWebRequest hWebReq = (HttpWebRequest)WebRequest.Create(srUrl);
            hWebReq.KeepAlive = blKeepAlive;
            hWebReq.Referer = srReferer;
            hWebReq.Timeout = irRequestTimeOut;
            hWebReq.ReadWriteTimeout = irRequestTimeOut;
            hWebReq.UserAgent = srBrowserAgent;
            hWebReq.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            WebHeaderCollection myWebHeaderCollection = hWebReq.Headers;
            myWebHeaderCollection.Add("Accept-Language", "en-gb,en;q=0.5");
            myWebHeaderCollection.Add("Accept-Encoding", "gzip, deflate");



            if (srCookiePrev.Length > 1)
                myWebHeaderCollection.Add("Cookie", srCookiePrev);

            string srCookie = "";
            HtmlAgilityPack.HtmlDocument hDoc = new HtmlAgilityPack.HtmlDocument();
            using (HttpWebResponse hWebResp = (HttpWebResponse)hWebReq.GetResponse())
            {
                using (var resultStream = hWebResp.GetResponseStream())
                {
                    if (hWebResp.Headers["Set-Cookie"] != null && blKeepCookies == true)
                        srCookie = hWebResp.Headers["Set-Cookie"].ToString();
                    hDoc.Load(resultStream,Encoding.UTF8);
                }
            }
            return new List<object> { hDoc, srCookie, hWebReq };
        }
        catch (Exception E)
        {
            SpecialFunctions.writeError(E, "func_DoHTTPWebRequest");

            return null;
        }
    }

そして、ここで読み取り結果

このコードは以前は機能していましたが、機能しない理由がわかりません

Visual Studio 2012、C# 5

http://i.stack.imgur.com/QXw1h.png

ここに画像の説明を入力

http://i.stack.imgur.com/QXw1h.png

4

0 に答える 0