使用WebClient下载时,指定的值具有无效的HTTP字符

时间:2015-12-21 20:02:23

标签: c# http-headers webclient recaptcha

我之前对这个问题进行了一些研究。我看了一下this question并没有帮助我。基本上我正在尝试构建一个程序来帮助人们使用网站,我需要从谷歌的recaptcha API获取recaptcha V2挑战图像。我一直在

  

指定的值包含无效的HTTP字符

尝试下载流时

 try
 {
      WebClientEx wc = new WebClientEx(cookieJar);
      wc.Headers.Add("Referer", recaptchaframe_url);
      wc.Headers.Add("UserAgent:", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)");
      Stream responsestream = wc.OpenRead("http://www.google.com" + challengeimageurl);
 }
 catch (Exception ex)
 {
      MessageBox.Show("This program was unable to download CAPTCHA image" + ex.Message);
 }

1 个答案:

答案 0 :(得分:0)

我可以通过将webclient中的所有手动设置标头转换为其.NET属性来解决此错误。 (例如,UserAgernt到HttpRequestHeader.UserAgent。似乎手动设置标题名称是没用的。