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;
相關文章
- c#中HttpWebRequest使用Proxy實現指定IP的域名請求C#HTTPWeb
- HttpWebRequest和WebClient的用法HTTPWebclient
- C#中HttpWebRequest:無法建立 SSL/TLS 安全通道 解決方案C#HTTPWebTLS
- C#利用 HttpWebRequest 類傳送post請求,出現“套接字(協議/網路地址/埠)只允許使用一次”問題C#HTTPWeb協議
- 當瀏覽器 禁用 cookie 時 , 我們如何使用 session瀏覽器CookieSession
- 使用C#實現一個PPT遙控器C#
- 【Android初級】如何實現一個“模擬後臺下載”的載入效果(附原始碼)Android原始碼
- 如何使用Tampermonkey開發並使用一個瀏覽器指令碼瀏覽器指令碼
- FileReader初步使用實現上傳圖片預覽效果
- 使用JS實現一個簡單的選項卡效果JS
- 使用css3實現一個斑馬線的效果CSSS3
- 如何使用css實現跨瀏覽器的最小高度?CSS瀏覽器
- C#中HttpWebRequest發起HTTP請求,如何設定才能達到最大併發和效能C#HTTPWeb
- 瀏覽器檢視Session瀏覽器Session
- 檢視瀏覽器請求的session 瀏覽器怎麼檢視session瀏覽器Session
- 使用Servlet實現檔案下載Servlet
- 使用Egg改造訂單系統展示效果,方便快速瀏覽
- CSS Houdini:用瀏覽器引擎實現高階CSS效果CSS瀏覽器
- 使用 CSS 實現透明效果CSS
- Vue外賣十一:登入成功資訊顯示、瀏覽器cookie+後端session登入狀態保持Vue瀏覽器Cookie後端Session
- 使用瀏覽器事件瀏覽器事件
- iOS開發UI篇--使用UICollectionView實現一個傾斜列表效果iOSUIView
- 使用float,flex和tailwind實現同一個表單註冊效果FlexAI
- 『心善淵』Selenium3.0基礎 — 22、使用瀏覽器載入項配置實現使用者免登陸瀏覽器
- 使用WebDriverManager實現自動獲取瀏覽器驅動程式Web瀏覽器
- 使用 CSS 實現漸變效果CSS
- 使用css實現霓虹燈效果CSS
- C# 匯出pdf(瀏覽器不預覽直接下載)C#瀏覽器
- 分享一個session過期後根據guard跳轉的實現Session
- 實現一個煙花效果
- 瀏覽器DevTools使用技巧瀏覽器dev
- 瀏覽器的session何時消失?瀏覽器Session
- vue中前進重新整理、後退快取使用者瀏覽資料和瀏覽位置的實踐Vue快取
- 使用BottomSheetBehavior實現美團拖拽效果
- 首先,開啟瀏覽器搜尋一下“固喬科技”,在裡面下載一個叫瀏覽器
- java實現瀏覽器下載附件時檔名中文亂碼解決方案Java瀏覽器
- JS 實現一個瀏覽器同一頁面只開啟一次JS瀏覽器
- C# WebSocket的簡單使用【使用Fleck實現】C#Web