您必须使用支持并启用了JavaScript的浏览器 - c#

1 c#

我试图发布使用HTTPWebrequest,这是我一直回来的回应:

您必须使用支持并启用了JavaScript的浏览器

这是我的邮政编码:

HttpWebRequest myRequest = null;
myRequest = (HttpWebRequest)HttpWebRequest.Create(submitURL);
myRequest.Headers.Add("Accept-Language", "en-US");
myRequest.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*";
myRequest.Method = WebRequestMethods.Http.Post;
myRequest.Headers.Add("Accept-Language", "en-US");
myRequest.Accept = "*/*, text/xml";
myRequest.ContentType = "application/x-www-form-urlencoded" + "\n" + "\r";
myRequest.CookieContainer = cookieContainer;
myRequest.Headers.Add("UA-CPU", "x86");
myRequest.Headers.Add("Accept-Encoding", "gzip, deflate");

//cPostData section removed as submitting to SO

myRequest.ContentLength = cPostData.Length;

myRequest.ServicePoint.Expect100Continue = false;

StreamWriter streamWriter = new System.IO.StreamWriter(myRequest.GetRequestStream());
streamWriter.Write(cPostData);
streamWriter.Close();


HttpWebResponse httpWebResponse = (HttpWebResponse)myRequest.GetResponse();
StreamReader streamReader = new System.IO.StreamReader(httpWebResponse.GetResponseStream());
string stringResult = streamReader.ReadToEnd();
streamReader.Close();
Run Code Online (Sandbox Code Playgroud)

我该如何避免收到此错误?

And*_*are 6

很难说确切的问题是什么,因为收到您请求的服务器不认为它是有效的.

尝试的第一件事可能是将UserAgent您的属性设置HttpWebRequest为某个有效浏览器的用户代理字符串,因为服务器可能正在使用此值来确定是否为该页面提供服务.


Dav*_*vid 5

这与您的代码没有任何关系 - Web服务器代码具有检测或依赖Javascript的功能.很可能页面上的一段Javascript填写(或在发布之前修改)一些隐藏的表单字段.

解决方案完全取决于Web服务器期望使用该表单数据发生的情况.