首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2012-01-12 
请教一个跨站提交数据的函数publicstaticstringPostData(stringurl,stringindata,CookieContainermyCookie

请教一个跨站提交数据的函数
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;
}

热点排行