3 回答

TA貢獻(xiàn)1839條經(jīng)驗 獲得超15個贊
獲取 webrowser 的 Cookie ,可以通過 IHtmlDocument2 接口,訪問 cookie 屬性,以下是代碼示例:
1 | CooKies :=(WebBrowser1 . Document as IHtmlDocument2).cookie; |
如果給其他組件使用,例如 IdHttp 組件,需要前面再添加“ Cookie:”做為標(biāo)示符:
123 | CookieStr := 'Cookie: ' + CooKies; idHttp2 . Request . CustomHeaders . Text := CookieStr; Memo1 . Text := UTF8Decode(IDHttp1 . Get(網(wǎng)址)); |

TA貢獻(xiàn)1785條經(jīng)驗 獲得超8個贊
獲取post,或者get返回的cookie,除了過濾返回的字符串之外,最簡單的方法是使用idhttp的CookieManager屬性。
比如獲得IDhttp返回的全部Cookie:
if idhttp1.CookieManager.CookieCollection.Count > 0 then
for i := 0 to idhttp1.CookieManager.CookieCollection.Count - 1 do
temp := temp + idhttp1.CookieManager.CookieCollection.Items[i] .CookieText + ';';
也可以通過屬性名和屬性值的形式獲得,這樣就可以提取出個別的Cookie值:
idhttp1.CookieManager.CookieCollection.Items[i]
.CookieName idhttp1.CookieManager.CookieCollection.Items[i]
.Value
比如:
temp := TStringList.Create;
if idhttp1.CookieManager.CookieCollection.Count > 0 then
for i := 0 to idhttp1.CookieManager.CookieCollection.Count - 1 do
// temp := temp + idhttp1.CookieManager.CookieCollection.Items[i] .CookieText + ';';
temp.Add(idhttp1.CookieManager.CookieCollection.Items[i]
.CookieName + '=' + idhttp1.CookieManager.CookieCollection.Items[i]
.Value);

TA貢獻(xiàn)1806條經(jīng)驗 獲得超8個贊
以下是使用步驟的演示代碼:
1、WebBrowswer 控件打開網(wǎng)址后,獲取其 Cookie 值:
1 | CookieStr := 'Cookie: ' + (Web . document as IHtmlDocument2).cookie; |
2、將 Cookie 值傳給 idhttp 控件使用:
12 | if CookieStr <> '' then IdHTTP1 . Request . CustomHeaders . Text := CookieStr; |
- 3 回答
- 0 關(guān)注
- 305 瀏覽
添加回答
舉報