0

一部のコードで httpWebRequest を使用してデータを投稿していますが、Referer で Unicode テキストを使用すると、「指定された値に無効な制御文字が含まれています」という例外が常に表示されます。

            CookieContainer cookieContainer = new CookieContainer();
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
            httpWebRequest.Headers["Accept-Encoding"] = "gzip, deflate";
            httpWebRequest.AutomaticDecompression = (DecompressionMethods.GZip | DecompressionMethods.Deflate);
            httpWebRequest.Timeout = this.Timeout;
            httpWebRequest.CookieContainer = cookieContainer;
            httpWebRequest.Method = method;
            httpWebRequest.KeepAlive = this.KeepAlive;
            httpWebRequest.ContentType = this.ContentType;
            httpWebRequest.Accept = this.Accept;
            httpWebRequest.UserAgent = this.UserAgent;
            httpWebRequest.Referer = this.Referer;
            httpWebRequest.ProtocolVersion = HttpVersion.Version11;
            httpWebRequest.AllowAutoRedirect = true;
            httpWebRequest.ServicePoint.Expect100Continue = false;
            httpWebRequest.AllowWriteStreamBuffering = false;
            httpWebRequest.Credentials =  CredentialCache.DefaultCredentials;
            httpWebRequest.Proxy = WebRequest.DefaultWebProxy;

URL は次のとおりです。somewhere.com/index?1yyezksvrgzkelork□=rgu{z5iihy5zvreiihy&1iutlomLork=gjsot5otjk~ リファラー: somewhere.com/index?1yyezksvrgzkelork□=rgu{z5iihy5zvreiihy&1iutlomLork=gjsot5otjk~ URL のみを使用する場合、正常に実行されています。

4

1 に答える 1

1

リファラーを HttpUtility.UrlEncode(...) でエンコードしてみてください

于 2013-03-26T11:26:03.827 に答える