try
{}catch一下看看报的是什么错

解决方案 »

  1.   


            internal static string requestWeb(string URL)
            {  //logForm里面的静态函数
                try
                {
                    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL);
                    request.Credentials = CredentialCache.DefaultCredentials;
                    request.CookieContainer = cc;//cc是form的成员变量
                    request.Timeout = 15000;
                    WebResponse response = request.GetResponse();
                    Stream dataStream = response.GetResponseStream();
                    StreamReader reader = new StreamReader(dataStream, Encoding.Default);
                    string rFS = reader.ReadToEnd();
                    reader.Close();
                    dataStream.Close();
                    response.Close();
                    return rFS;
                }//调用
    string responseFromServer = logForm.requestWeb(textBox_server.Text.Trim() + "/new.asp?id=" + HttpUtility.UrlEncode(textBox_user.Text.Trim()) + "&psw=" + HttpUtility.UrlEncode(textBox_psw.Text.Trim()).Replace("%", "X"));
    //responseFromServer 是网站返回的HTML代码以上是我使用的代码.其实把参数放在URL里面,传参的方法应该就算是get了吧.不用另写req.Method = "get";
      

  2.   


    WebRequest.Create(string);会把传递uri字符串按照RFC 2396进行编码.
    比如空格会被编为 %20
      

  3.   

    应该是 url 编码问题这样试试:
    string url = System.Web.HttpUtility.UrlEncode("http://127.0.0.1:3500/index?UserName=[USERNAME]");再到你的 sniffer 中看一下结果
    要不就改成 POST 方式
      

  4.   

    req.Method = "POST";
    req.ContentType = "application/x-www-form-urlencoded;charset=gb2312";
    改变方式看看
      

  5.   

    用这个试试看:private string SendPostData(string path, string strhtml)
            {
                HttpWebRequest httprequest = (HttpWebRequest)WebRequest.Create(path);            httprequest.Method = "POST";
                httprequest.ContentLength = strhtml.Length;
                httprequest.ContentType = "application/x-www-form-urlencoded"; 
                Stream httprequeststream = httprequest.GetRequestStream();
                StreamWriter sw = new StreamWriter(httprequeststream);
                sw.Write(strhtml);
                sw.Close();
                HttpWebResponse httpresponse = (HttpWebResponse)httprequest.GetResponse();
                StreamReader sr = new StreamReader(httpresponse.GetResponseStream(), Encoding.Default);
                string backstr = sr.ReadToEnd();
                sr.Close();
                httpresponse.Close();
                return backstr;
            }
      

  6.   

    string url = "http://127.0.0.1:3500/index?UserName=[USERNAME]";
    这一句有问题嘛。
    直接
    string url = "http://127.0.0.1:3500";
    试试看。
      

  7.   

    好象都不行,都试验过了,Sniffer观察下来会把[ 变为%5B,把]变为%5D,
      

  8.   

    按程序看似乎没问题,不知你用什么打开显示网页?
    你可以跟踪查看一下sHtml变量的值,是否就是你获取到的html数据。
    或者把sHtml的值,用记事本存为html,然后打开看看是否可以打开?