表单跨域提交问题,a site to b site,using post method... 他人某站的某个页面接收post方式传来的表单。现在从我的网站怎么样实现传递表单数据到对方页面去提交?用ajax写了一个提示:没有权限。不知道可行性如何 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用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); 记得加上using System.Net; escape从哪里来的,这句什么意思哟 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(); } 谢谢啦,用你这个方法确实可以。试了几个,但是有一个网站却总是不能成功提交: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);不返回任何信息我用工具看了,提交的项就那些个 byte[] responseData = webClient.UploadData("http://www.zhubajie.com/task/user/regnex", "POST", postData);应该是这句有问题吧,其中"http://www.zhubajie.com/task/user/regnex"这是一个路径,没有指定页。具体的我没有去调试. 正则提取img标签属性与值(C#) VS2010生成老是报错 iis应用池 求域名正则表达式 使用母板页,子页不能导入CSS文件? 很简单的一个存储过程,就是搞不定??? FreeTextBox的问题 怎样在后台给html的上传文件的控件赋值? fancyf 进来,再请教 C#调用vf写的DLL时候,"路径中含有非法字符"---出错!谢谢~ A页Post给B页里面的<iframe里面的C页>请问怎样传值? id = Convert.ToInt32(Request.QueryString["id"].ToString());
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);
using System.Net;
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();
}
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);
不返回任何信息
我用工具看了,提交的项就那些个
应该是这句有问题吧,其中"http://www.zhubajie.com/task/user/regnex"这是一个路径,没有指定页。具体的我没有去调试.