2013-03-26 4 views
0

У меня есть код для использования httpWebRequest для публикации данных, но когда я использую текст Unicode в Referer, он всегда показывает исключение: «Указанное значение имеет недопустимые управляющие символы».httpWebRequest Исключение Referer с unicode url

  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-адрес это нормально работает.

ответ

1

Попробуйте кодировать ваш референт с помощью HttpUtility.UrlEncode (...)