在 WinForm 用下面的方法可以打開頁面并同時通過 GET 傳參實現自動登錄,string s = "http://www.xxx.com/send.aspx?user=aaa&pass=bbb";System.Diagnostics.Process.Start(s)
1 回答

MMMHUHU
TA貢獻1834條經驗 獲得超8個贊
可以用HttpWebRequest和HttpWebResponse
或者WebRequest和WebResponse
//調用方法 Dictionary< string , string > postData = new Dictionary< string , string >(); postData.Add( "user" , "aaa" ); postData.Add( "pass" , "bbb" ); GetPageByPost( "http://www.xxx.com/send.aspx" , postData, Encoding.UTF8); /// <summary> /// 以 Post 方式提交網頁數據,獲得服務器返回的數據 /// </summary> /// <param name="url"> Url </param> /// <param name="postData">Post 數據</param> /// <param name="encoder">網頁編碼</param> /// <returns>服務器返回的數據</returns> public string GetPageByPost( string url, Dictionary< string , string > postData, Encoding encoder) { string html = "" ; HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(url); webReq.Method = "POST" ; Stream reqStream = null ; if (postData != null && postData.Count > 0) { StringBuilder sb = new StringBuilder(); foreach (KeyValuePair< string , string > kv in postData) { sb.Append(HttpUtility.UrlEncode(kv.Key)); sb.Append( "=" ); sb.Append(HttpUtility.UrlEncode(kv.Value)); sb.Append( "&" ); } byte [] data = Encoding.UTF8.GetBytes(sb.ToString().TrimEnd( '&' )); webReq.ContentType = ContentType; webReq.ContentLength = data.Length; reqStream = webReq.GetRequestStream(); reqStream.Write(data, 0, data.Length); } HttpWebResponse webResp = (HttpWebResponse)webReq.GetResponse(); Stream stream = webResp.GetResponseStream(); StreamReader sr = new StreamReader(stream, encoder); html = sr.ReadToEnd(); sr.Close(); stream.Close(); if (reqStream != null ) { reqStream.Close(); } return html; } |
- 1 回答
- 0 關注
- 118 瀏覽
添加回答
舉報
0/150
提交
取消