1. C語言如何讀取cookie值
C語言無法良好的讀取cookie,必須使用C++相關的類庫來讀取。
1、最簡單的獲取cookies的是用InternetGetCookie,函數原型如下:
BOOL InternetGetCookie(
LPCTSTR lpszUrl,
LPCTSTR lpszCookieName,
LPSTR lpCookieData,
LPDWORD lpdwSize
);
下面幾句就可以了:
char Cookie[300];
char *sURL = "http://host286.com/articles.asp?id=653";
InternetGetCookie(sURL,NULL,Cookie,&leng);
缺陷是nternetGetCookie 只讀取 COOKIES目錄下生成的COOKIE,遇到HTTPONLY屬性則不生成本地COOKIES中的文件,而是直接通過HTTP頭來傳輸。
這時可以用下列代碼:
char * pszURL = "http://host286.com/";
BOOL bRes = CInternetSession::GetCooke(pszURL,"",strCookie);
DWORD buflen = 300;
char strCookie[300] = {0};
CString strCookie;
fileGet->QueryInfo(HTTP_QUERY_SET_COOKIE,strCookie,&buflen,NULL);
或者
CString strCookie;
char * pszURL = "http://host286.com/";
BOOL bRes = CInternetSession::GetCookie(pszURL,"",strCookie);
2、設置cookies的方法:
InternetSetCookie("http://host286.com",NULL,"TestData=Test;expires=Sat,01-Jan-2012 00:00:00GMT");
2. ajax非同步發送到servlet,在servlet添加了Cookie,然後在其他servlet無法獲取Cookie
Cookie是肯定可以添加的,Cookie是和瀏覽器相關,存在瀏覽器上面的,朋友你的情況可能是上面朋友說的看瀏覽器是否禁用了Cookie,之後,看看你後來獲取的Cookie是否和你存進去的Cookie是同一個! 希望對你有幫助哦! 希望你早日解決問題!
3. 怎麼獲取Cookie
1、按f12打開控制台
4. 您的瀏覽器不支持cookie ,怎麼辦
在ie的"工具/internet選項"的"常規"選項卡中,選擇"設置/查看文件",查看所有保存到你電腦里的cookies。這些文件通常是以
user@domain格式命名的,user是你的本地用戶名,domain是所訪問的網站的域名。如果你使用netscape瀏覽器,則存放在"c:
/programfiles/nets-
cape/users/"裡面,與ie不同的是,netscape是使用一個cookie文件記錄所有網站的cookies。
我們可對cookie進行適當設置:打開"工具/internet選項"中的"隱私"選項卡(注意該設置只在ie6.0中存在,其他版本ie可以單擊"工具/internet選項"
"安全"標簽中的"自定義級別"按鈕,進行簡單調整),調整cookie的安全級別。通常情況,可以調整到"中高"或者"高"的位置。多數的論壇站點需要使用cookie信息,如果你從來不去這些地方,可以將安全級調到"阻止所有cookies";如果只是為了禁止個別網站的cookie,可以單擊"編輯
"按鈕,將要屏蔽的網站添加到列表中。在"高級"按鈕選項中,你可以對第一方cookie和第三方的cookie進行設置,第一方cookie是你正在瀏覽的網站的cookie,第三方cookie是非正在瀏覽的網站發給你的cookie,通常要對第三方cookie選擇"拒絕"。你如果需要保存
cookie,可以使用ie的"導入導出"功能,打開"文件/導入導出",按提示操作即可。
5. cookie怎麼獲取
Cookie可以用火狐瀏覽器、谷歌瀏覽器,也可以用一些軟體的內置模塊等獲取。具體操作步驟如下:
1、用瀏覽器打開網頁,有寫站需要獲取登錄後的COOKIE的話就登錄一下。
Cookie注意事項:
Cookie是登陸賬號的重要信息,不能隨意發給別人,否則泄漏後你就成了別人的資料倉庫保管員了。當然,萬一泄露也不要緊,及時將賬號的密碼進行修改即可,這樣泄露的cookie也會失效的。
網路網盤賬號的cookie是長期有效的,但是前提條件是不能通過瀏覽器直接點擊退出賬號,否則這個獲取到的cookie信息就不能再次使用了。需要通過瀏覽器直接提供的工具,清理cookie信息來退出當前賬號。
搜狗瀏覽器的工具欄中有個清理歷史記錄,清除cookie的可以。Chrome瀏覽器中點擊小鎖後會出現cookie信息,刪除即可。
6. C#WebBrowser怎麼獲取和設置Cookie的方法
如果要設置也是一樣的
[code=csharp]//設置Cookie
webBrowser1.Document.Cookie=strcookie;[/code]
但是有時候使用這種方法會獲取不全,或者是獲取不到,下面我提供一個方法
[C#] 純文本查看 復制代碼
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
//取當前webBrowser登錄後的Cookie值
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern bool InternetGetCookieEx(string pchURL, string pchCookieName, StringBuilder pchCookieData, ref int pcchCookieData, int dwFlags, object lpReserved);
//取出Cookie,當登錄後才能取
private static string GetCookieString(string url)
{
// Determine the size of the cookie
int datasize = 256;
StringBuilder cookieData = new StringBuilder(datasize);
if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x00002000, null))
{
if (datasize < 0)
return null;
// Allocate stringbuilder large enough to hold the cookie
cookieData = new StringBuilder(datasize);
if (!InternetGetCookieEx(url, null, cookieData, ref datasize, 0x00002000, null))
return null;
}
return cookieData.ToString();
}
在很多情況下我們會使用間進程的webBrowser去實現一些網頁的請求和抓去,這個時候有部分網頁是取不到Cookie的,那怎麼辦呢?下面我提供一個方法,應該99%的都能取到
使用方法也很簡單
[code=csharp]//獲取Cookie
string strcookie=GetCookieString(「你要獲取Cookie的URl」);[/code]例如
[code=csharp]//獲取Cookie
string strcookie=GetCookieString(「http://www.sufeinet.com」);[/code]
這樣獲取的是sufeinet.com的Cookie信息
7. 後端無法獲取cookie中的數據問題
頁面顯示沒問題,但就是無法獲取cookie或session中的參數。這個問題我一直不知道怎麼解決,於是就不管他了。
在一次偶然的機會我又打開了一次並重新輸入了URL: http://localhost:8080/LifeDriver/login.jsp 試了試,然後就真的成功了,於是我打開我之前保存的錯誤的頁面對比了一下發現我多寫了一個「/」。
正確的是: http://localhost:8080/LifeDriver/login.jsp
錯誤的是: http://localhost:8080/LifeDriver//login.jsp
之前沒注意,因為錯誤的頁面是可以正常顯示頁面的,但是獲取不了cookie或session中的參數。雖然不知道為什麼,但問題解決了不是嗎?
8. 向瀏覽器發送cookie再獲取,為什麼獲取不到剛剛發送的cookie
cookie的原理,樓主有時間,應該多看看。
把數據保存到cookie中,在伺服器的響應的時候,就會把cookie保存到客戶端(一般是瀏覽器)的硬碟中。當你第二次(關鍵)訪問的時候,瀏覽器才會將cookie帶過來。 而樓主你的代碼中,根本就沒有二次訪問,所以就肯定獲取不到值了。
這種情況是可以保存在session中。