我之前对这个问题进行了一些研究。我看了一下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);
}
答案 0 :(得分:0)
我可以通过将webclient中的所有手动设置标头转换为其.NET属性来解决此错误。 (例如,UserAgernt到HttpRequestHeader.UserAgent。似乎手动设置标题名称是没用的。