C#:使用HttpWebRequest後保持Session,再使用一個HttpWebRequest實現瀏覽、下載等效果
如何使用HttpWebRequest後登入網站後,再使用一個HttpWebRequest實現瀏覽、下載等效果?
兩個request之前都是單獨的請求,需要保持Session,然而Session的保持需要Cookies,所以給兩個request同一個CookieContainer就可以了。
樣例如下,注意寫註釋的三行程式碼,
CookieContainer cc = new CookieContainer(); //建立一個容器
request.CookieContainer = cc; //給第一個request指定容器
request2.CookieContainer = cc; //給第二個request指定同一個容器
CookieContainer cc = new CookieContainer(); //建立一個容器
HttpWebRequest request = null;
string url = "http://?????.com/SvltLogin";
request = (HttpWebRequest)WebRequest.Create(url);
request.CookieContainer = cc; //給第一個request指定容器
request.Method = "POST";
request.Accept = "*/*;";
request.UserAgent = "Mozilla/5.0";
request.ContentType = "application/x-www-form-urlencoded";
request.AllowAutoRedirect = true;
request.KeepAlive = true;
string postData = string.Format("txtUsr_id=00000001&txtPassword=mima");
byte[] postdatabyte = Encoding.GetEncoding("gbk").GetBytes(postData);
request.ContentLength = postdatabyte.Length;
using (Stream stream = request.GetRequestStream())
{
stream.Write(postdatabyte, 0, postdatabyte.Length);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string strWebData = string.Empty;
using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gbk")))
{
strWebData = reader.ReadToEnd();
}
richTextBox1.Text = strWebData;
//開始第二個Request
url = "http://?????.com/abcd";
HttpWebRequest request2 = WebRequest.Create(url) as HttpWebRequest;
request2.CookieContainer = cc; //給第二個request指定同一個容器
HttpWebResponse response2 = request2.GetResponse() as HttpWebResponse;
相關文章
- HttpWebRequest 保持sessionHTTPWebSession
- 用C#使用HttpWebRequest Post資料時如何保持SessionHTTPWebSession
- httpWebRequest保持session的方法HTTPWebSession
- httpWebRequest 檔案下載HTTPWeb
- 使用C# + httpWebRequest 解析WMTS服務後設資料C#HTTPWeb
- c#中HttpWebRequest使用Proxy實現指定IP的域名請求C#HTTPWeb
- HttpWebRequest.GetResponse 方法HTTPWeb
- HttpWebRequest和WebClient的用法HTTPWebclient
- Windows Phone網路HttpWebRequest用法WindowsHTTPWeb
- HttpRequest 和HttpWebRequest的區別(轉)HTTPWeb
- C#中HttpWebRequest:無法建立 SSL/TLS 安全通道 解決方案C#HTTPWebTLS
- C# HttpWebRequest 方式提交資料,引數為普通鍵值對C#HTTPWeb
- C#利用 HttpWebRequest 類傳送post請求,出現“套接字(協議/網路地址/埠)只允許使用一次”問題C#HTTPWeb協議
- HttpWebRequest的timeout和ReadWriteTimeoutHTTPWeb
- 如何實現一個圖片瀏覽器瀏覽器
- javascript實現的控制瀏覽器全屏效果 [JavaScript瀏覽器
- 使用C#實現一個PPT遙控器C#
- 【Android初級】如何實現一個“模擬後臺下載”的載入效果(附原始碼)Android原始碼
- 使用Spark\/BigDL高階機器學習實現壽險業務再發現 [session]Spark機器學習Session
- 分散式中使用 Redis 實現 Session 共享(下)分散式RedisSession
- 當瀏覽器 禁用 cookie 時 , 我們如何使用 session瀏覽器CookieSession
- Android:一個實用的WebView瀏覽頁面,可直接使用AndroidWebView
- 使用Memcached實現Session共享Session
- 使用JS實現一個簡單的選項卡效果JS
- 如何使用Tampermonkey開發並使用一個瀏覽器指令碼瀏覽器指令碼
- css實現瀏覽器垂直水平居中效果程式碼CSS瀏覽器
- Linux 下使用 IE瀏覽器(轉)Linux瀏覽器
- 使用Servlet實現檔案下載Servlet
- Session會在瀏覽器關閉後消失嗎???Session瀏覽器
- js 禁用瀏覽器後退按鈕效果JS瀏覽器
- FileReader初步使用實現上傳圖片預覽效果
- 程式模擬瀏覽器請求及會話保持-python實現瀏覽器會話Python
- 使用 Fresco 實現大圖瀏覽(支援手勢放大、拖拽)
- Vue外賣十一:登入成功資訊顯示、瀏覽器cookie+後端session登入狀態保持Vue瀏覽器Cookie後端Session
- CSS Houdini:用瀏覽器引擎實現高階CSS效果CSS瀏覽器
- 使用 CSS 實現透明效果CSS
- C#中HttpWebRequest發起HTTP請求,如何設定才能達到最大併發和效能C#HTTPWeb
- 關閉瀏覽器之後session是否就消失了???瀏覽器Session