C#程序报404错误
开发的一款软件,方法如下,在多数机器能正常使用.但是有一台机器,始终是404,无法访问.但是用IE却可以正常访问此页面.软件的URL请求地址都是正确的,只有一台机器是错误的.防火墙都没开,拦截的也没发现.很奇怪.错误如下public string login(string uid, string passWd)
{
Encoding encoding = Encoding.GetEncoding("UTF-8");
IDictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("action", "loginIn");
parameters.Add("uid", uid);
parameters.Add("pwd", passWd);
HttpWebResponse response = null;
response = HttpWebResponseUtility.CreatePostHttpResponse(loginUrl, parameters, null, null, encoding, null);
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
String retValue = sr.ReadToEnd();
sr.Close();
return retValue;
}
System.Net.WebException: 远程服务器返回错误: (404) 未找到。--------------------编程问答-------------------- 谁知道 HttpWebResponseUtility 是什么东东? --------------------编程问答-------------------- 用Fiddler调试下,URL不正确。和服务器连接正常。 --------------------编程问答--------------------
在 System.Net.HttpWebRequest.GetResponse()
在 EM.HttpWebResponseUtility.CreatePostHttpResponse(String url, IDictionary`2 parameters, Nullable`1 timeout, String userAgent, Encoding requestEncoding, CookieCollection cookies)
在 EM.MethodOption.login(String uid, String passWd)
在 EM.Login.button1_Click(Object sender, EventArgs e)
是正确的. --------------------编程问答-------------------- 兼容性问题吧 --------------------编程问答-------------------- 没有找到页面啊! --------------------编程问答--------------------
URL是正确的. Fiddler 复制出来的URL 是可以访问的.并且该软件其他机器都能正常使用.
WIN7 64位不知道哪里多了一层设置或者什么防御之类的 --------------------编程问答--------------------
哪些兼容性?WI7 64位 已安装.NET4 --------------------编程问答-------------------- 这个问题我也遇到过的。有时看服务器使用什么开发的。如果使用apache做服务器的话 你可以使用c#下的client提交就不行了。你需要使用java来写post与get --------------------编程问答--------------------
是apache的
但是其他机器又可以哦.
客户端放到其他机器,都没问题 --------------------编程问答-------------------- 帮顶!!!我也想知道为啥? --------------------编程问答-------------------- --------------------编程问答-------------------- 通常 可能 大概~
别人的服务器判断你的请求 直接给你404的~
所以你要把HttpWebResponseUtility伪装成IE,FF,Chrome什么的~ --------------------编程问答--------------------
DefaultUserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
是这个吧? --------------------编程问答--------------------
应该是把,其实我也只是猜想~ 另外我也写过抓取程序~发现有些网站的页面,你浏览它,他就会先重定向到其他页面~ ,还有一些很神奇的状态~ ... .....
个人猜想~希望能帮助到你~ --------------------编程问答-------------------- 最近帮一个朋友写iphone预定程序用c#怎么搞都不行。最后还是写了java 来Post才行。很奇怪。 --------------------编程问答-------------------- 使用apache下的httpclient进行url get 与 post 详细的封装可以参考
get方法:http://www.itzhishi.com/function/detail/16.html
post方法:http://www.itzhishi.com/function/detail/17.html
补充:.NET技术 , C#