国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
WebRequest和WebBrowser同時(shí)登陸,使用同一個(gè)sessionID
在網(wǎng)上找了很久,于是產(chǎn)生了以下方法.
針對于使用WebBrowser控件瀏覽網(wǎng)頁,在其Document.Cookie中找不到SessionID信息時(shí),
則使用WebRequest發(fā)送請求,使用response.Headers["Set-Cookie"]來獲得此屬性中間的SessionID.
1
CookieCollection cookieCheckCode;
2
CookieContainer container = new CookieContainer();
3
4
HttpWebResponse response = null;
5
HttpWebRequest request = null;
6
7
request = (HttpWebRequest)WebRequest.Create(string.Format("http://{0}/Login.aspx", host));
8
request.Referer = "http://" + host;
9
request.Method = "GET";
10
request.Accept = "*/*";
11
request.Timeout = 5000;
12
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)";
13
response = (HttpWebResponse)request.GetResponse();
14
responseStream = response.GetResponseStream();
15
16
17
Cookie cookie4 = new Cookie("ASP.NET_SessionId", this.GetSessionId(response.Headers["Set-Cookie"]));
18
cookie4.Domain = host;
19
cookieCheckCode.Add(cookie4);
20
21
responseStream.Close();
22
response.Close();
23
24
container.Add(cookieCheckCode);
GetSessionID方法:
1
/// <summary>
2
/// 從Response的Headers中獲取當(dāng)此的SessionID
3
/// </summary>
4
/// <param name="value">[Response].[Headers].["Set-Cookie"]</param>
5
/// <returns></returns>
6
private string GetSessionId(string value)
7
{
8
      string startTag = "ASP.NET_SessionId=";
9
      int indexEnd = value.IndexOf(";");
10
      return value.Substring(startTag.Length, indexEnd - startTag.Length);
11
}
需要說明的是:
Cookie有的時(shí)候是在response.Cookies里面,有的時(shí)候是在response.Headers["Set-Cookie"]里面,
每個(gè)網(wǎng)站的做法都不一樣,需要自己在編碼的時(shí)候結(jié)合Http/Https抓包工具(比如HttpAnalyzerStdV4)的來判斷.
在調(diào)試的時(shí)候也是可以的,斷點(diǎn)調(diào)試的時(shí)候,使用監(jiān)視器查看就可以看到了.
下面這個(gè)方法是直接向webBrowser瀏覽器中注入cookie(不知道這樣的說法對不對).
cookieCheckCode 對象是一個(gè)CookieCollection對象,里面有訪問指定網(wǎng)站所需要的Cookie信息.可能有多個(gè).
// url: 網(wǎng)址
// cookieName:cookie的名稱;比如:ASP.NET_SessionId
// cookieValue:cookie的值;比如:62323DE6D2DE622AF811BDF724F4EF7
//執(zhí)行完這個(gè)方法調(diào)用webBrowser1.Refresh(WebBrowserRefreshOption.Completely)就可以了.
InternetSetCookie(url, cookieName, cookieValue);
1
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
2
public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);
1
if (webBrowser1.Document != null)
2
{
3
  foreach (Cookie ccc in cookieCheckCode)
4
  {
5
    InternetSetCookie(webBrowser1.Document.Url.AbsoluteUri, ccc.Name, ccc.Value);
6
  }
7
}
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C# 抓取網(wǎng)頁內(nèi)容
C# WebRequest發(fā)起Http Post請求模擬登陸并cookie處理示例
OAuth2、CAS單點(diǎn)登錄
JSP中response,session,cookie,application的作用及區(qū)別
C# 下載網(wǎng)頁數(shù)據(jù)備用代碼
關(guān)閉瀏覽器后再次訪問session 保證是同一個(gè)sessionid
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服