读书人

请问一个跨站提交数据的函数

发布时间: 2012-01-12 22:11:58 作者: rapoo

请教一个跨站提交数据的函数
public static string PostData(string url, string indata, CookieContainer myCookieContainer)
{
string outdata = " ";
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
myHttpWebRequest.ContentType = "application/x-www-form-urlencoded ";
myHttpWebRequest.ContentLength = indata.Length;
myHttpWebRequest.Method = "POST ";
myHttpWebRequest.CookieContainer = myCookieContainer;
Stream myRequestStream = myHttpWebRequest.GetRequestStream();
StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding( "gb2312 "));
myStreamWriter.Write(indata);
myStreamWriter.Close();
myRequestStream.Close();
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
myHttpWebResponse.Cookies = myCookieContainer.GetCookies(myHttpWebRequest.RequestUri);
Stream myResponseStream = myHttpWebResponse.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding( "gb2312 "));
outdata = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return outdata;
}
我要向http://mail.163.com/请求数据进行身份验证参数应该怎么写?
PostData(“http://mail.163.com/”, string indata, CookieContainer myCookieContainer)

[解决办法]
需要验证码的,很难搞,不用验证码就直接POST用户名密码就可以了
[解决办法]
那你首先要知道对方传递用户名密码的名字是什么比如username pwd 什么的,然后用GET
myHttpWebRequest.Method = "POST ";
传入的indata 要这样写 login.aspx?username=XXX&pwd=***

[解决办法]
myHttpWebRequest.Method = "GET ";
[解决办法]
public static string PostData(string url, string indata, CookieContainer myCookieContainer)
{
string outdata = " ";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] myData = encoding.GetBytes(indata);

HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);



myHttpWebRequest.Method = "POST ";
myHttpWebRequest.ContentType = "application/x-www-form-urlencoded ";
myHttpWebRequest.ContentLength = myData.Length;

//myHttpWebRequest.CookieContainer = myCookieContainer;
Stream myRequestStream = myHttpWebRequest.GetRequestStream();
//StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding( "gb2312 "));
//myStreamWriter.Write(myData,0,myData.Length);

myRequestStream.Write(myData,0,myData.Length);

//myStreamWriter.Close();
myRequestStream.Close();

HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
myHttpWebResponse.Cookies = myCookieContainer.GetCookies(myHttpWebRequest.RequestUri);
//Stream myResponseStream = myHttpWebResponse.GetResponseStream();
StreamReader myStreamReader = new StreamReader(Response.GetResponseStream(),Encoding.Default);
outdata = myStreamReader.ReadToEnd();
myStreamReader.Close();
//myResponseStream.Close();
return outdata;
}

读书人网 >asp.net

热点推荐