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~ Referer:somewhere.com/index?1yyezksvrgzkelork□=rgu{z5iihy5zvreiihy&1iutlomLork=gjsot5otjk~ 如果只使用 url 则运行正常。

4

1 回答 1

1

尝试使用 HttpUtility.UrlEncode(...) 对您的推荐人进行编码

于 2013-03-26T11:26:03.827 回答