从远程服务器通过get请求获取了一组数据,现在要使用c#代替原有的login.php页面,通过post方式向index.php发送登陆需要的参数,偶是新手,有高手帮忙吗,不胜感激。

解决方案 »

  1.   

    用input type=hidden
    进行post
      

  2.   

    用input方式,我怎么设置参数的值啊,在c#中
      

  3.   

    public static void PostDate(int i)
    {
    //建立登录检查地址
    string url = @"http://www.howaa.com/JokeReview.asp";

    //建立request对象
    System.Net.HttpWebRequest req=(System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url); 
    //这个新建的Cookie集合不知道有什么用??
    //req.CookieContainer =new CookieContainer (); req.Method="POST";        //POST方式请求
    req.ContentType= "application/x-www-form-urlencoded";//内容类型
    //参数经过URL编码
    string paraUrlCoded;
    paraUrlCoded=System.Web.HttpUtility.UrlEncode("MemName") +"="+System.Web.HttpUtility.UrlEncode("123456789");  //  相当于<input name = MemName value="123456789" type="hidden">
    paraUrlCoded+="&"; 
    paraUrlCoded+=System.Web.HttpUtility.UrlEncode("Newsid")+"="+System.Web.HttpUtility.UrlEncode("0632111151924214");
    paraUrlCoded+="&"; 
    paraUrlCoded+=System.Web.HttpUtility.UrlEncode("action")+"="+System.Web.HttpUtility.UrlEncode("add");
    paraUrlCoded+="&"; 
    paraUrlCoded+=System.Web.HttpUtility.UrlEncode("RevContent")+"="+System.Web.HttpUtility.UrlEncode("This is C#,this is henry test  <a href='"+myurl+"',target='_blank'>"+i.ToString()+"</a> ");
    //将URL编码后的字符串转化为字节
    try
    {
    byte[] payload;
    payload=System.Text.Encoding.GetEncoding("GB2312").GetBytes(paraUrlCoded);
    //payload=System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
    //System.Text.Encoding.GetEncoding("GB2312"));  req.ContentLength=payload.Length; //设置请求的ContentLength 
    System.IO.Stream writer=req.GetRequestStream();//获得请求流 
    writer.Write(payload,0,payload.Length);//将请求参数写入流
    writer.Close();//关闭请求流
    }
    catch
    {} //获得响应流
    }用这个试试