我想用httpwebrequest代理(proxy属性)来请求 百度的页面 具体是在百度首页中收入关键词后 出来的那个页面(图)代码如下:
try
                            {
                                WebProxy wp = new WebProxy();
                                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(site[i]));
                                wp.Address = new Uri("http://" + dr2[0].ToString().Trim());
                                request.Proxy = wp;
                                //request.Credentials = CredentialCache.DefaultCredentials;
                                //request.GetResponse();
                                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                                StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
                                reader.Close();
                                response.Close();                            }每次运行都是出现 【远程服务器返回错误:(404)未找到】....我快崩溃了 怎么解决呀 我代码哪里错了

解决方案 »

  1.   

                WebProxy wp = new WebProxy("代理网址或代理IP", 80);
                wp.Credentials=new NetworkCredential("username","password");要有具体的设置,或使用默认设置。
                //当前模拟用户的 Internet Explorer 设置中配置的代理
                request.Proxy = WebRequest.GetSystemWebProxy();
              request.Credentials=new NetworkCredential("username","password");
      

  2.   


    private const string _addressBookUrl = "http://bjapp2.mail.tom.com/cgi/ldvcapp?funcid=address&sid={0}&showlist=all&listnum=0";
            private int _affect = 1;
            private const string _loginPage = "http://login.mail.tom.com/cgi/login?style=0&verifycookie=0&type=0&url=http://bjweb.mail.tom.com/cgi/login2";
            private string _pwd = string.Empty;
            private const string _userAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
            private string _username = string.Empty;
            private CookieContainer cct = null;
            private string sid = string.Empty;        /// <summary>
            /// 检查登陆
            /// </summary>
            public void Login()
            {
                string s = "user=" + HttpUtility.UrlEncode(this._username) + "&pass=" + HttpUtility.UrlEncode(this._pwd);
                byte[] bytes = new ASCIIEncoding().GetBytes(s);
                this.cct = new CookieContainer();
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://login.mail.tom.com/cgi/login?style=0&verifycookie=0&type=0&url=http://bjweb.mail.tom.com/cgi/login2");
                request.CookieContainer = this.cct;
                request.AllowAutoRedirect = false;
                request.Method = "post";
                request.UserAgent = _userAgent;
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentLength = bytes.Length;
                request.Credentials = CredentialCache.DefaultNetworkCredentials;
                Stream requestStream = request.GetRequestStream();
                requestStream.Write(bytes, 0, bytes.Length);
                requestStream.Close();
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                CookieCollection cookies = request.CookieContainer.GetCookies(new Uri("http://login.mail.tom.com/"));
                if (cookies["Coremail"] != null)
                {
                    string[] strArray = cookies["Coremail"].Value.Split(new char[] { '%' });
                    this.sid = strArray[1];
                }
                else
                {
                    this._affect = -1;
                }
                response.Close();
            }        /// <summary>
            /// -1代表用户名或密码错误或网络出错,0代表通讯录中没有数据,1代表正常取出
            /// </summary>
            public int Affect
            {
                get
                {
                    return this._affect;
                }
            }