他人某站的某个页面接收post方式传来的表单。现在从我的网站怎么样实现传递表单数据到对方页面去提交?用ajax写了一个提示:没有权限。不知道可行性如何

解决方案 »

  1.   

    用webclient啊 WebClient webClient = new WebClient(); 
            webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
            byte[] postData = Encoding.ASCII.GetBytes("txtChuFa="+escape(ss)+"&txtDaoDa="+escape(se));
            byte[] responseData = webClient.UploadData("http://search.huoche.com.cn/chaxun/result.asp", "POST", postData);
            string pageHtml = Encoding.Default.GetString(responseData); 
      

  2.   

    记得加上
    using System.Net;
      

  3.   


    escape从哪里来的,这句什么意思哟
      

  4.   

    escape是自己写的一个方法,你可以先不用escape看一下能获取到数据不。
    还有就是你要获取数据页面采用何种编码,如果是gn2312的
    string pageHtml= Encoding.Default.GetString(responseData);
    否则的话  string pageHtml= Encoding.UTF8.GetString(responseData);或者其它的编码方式解决乱码问题. /// <summary>
        /// 自定义escape编码函数
        /// </summary>
        /// <param name="s">要编码的字符串</param>
        /// <returns></returns>
        private string escape(string s)
        {
            StringBuilder sb = new StringBuilder();
            byte[] ba = System.Text.Encoding.Unicode.GetBytes(s);
            for (int i = 0; i < ba.Length; i += 2)
            {
                sb.Append("%u");
                sb.Append(ba[i + 1].ToString("X2"));
                sb.Append(ba[i].ToString("X2"));
            }
            return sb.ToString();
        }
      

  5.   

    谢谢啦,用你这个方法确实可以。试了几个,但是有一个网站却总是不能成功提交:http://www.zhubajie.com/task/user/register我写的代码如下:
            WebClient webClient = new WebClient();
            webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
            //byte[] postData = Encoding.ASCII.GetBytes("txtChuFa=" + escape(ss) + "&txtDaoDa=" + escape(se));
            byte[] postData = Encoding.ASCII.GetBytes("username=ccccccgfcccccc&password=cccckjcccccds&repassword=cccckjcccccds&[email protected]&passregtext=1&uFrom=no&forward=&url=&welcome=");
            byte[] responseData = webClient.UploadData("http://www.zhubajie.com/task/user/regnex", "POST", postData);
            string pageHtml = Encoding.UTF8.GetString(responseData);
            Response.Write(pageHtml);
    不返回任何信息
    我用工具看了,提交的项就那些个
      

  6.   

    byte[] responseData = webClient.UploadData("http://www.zhubajie.com/task/user/regnex", "POST", postData);
    应该是这句有问题吧,其中"http://www.zhubajie.com/task/user/regnex"这是一个路径,没有指定页。具体的我没有去调试.