读取页面元素的onclick属性值 禁止重定向 获取url重定向后Location头指定的重定向目标

更多精彩内容,请见:http://www.16boke.com

(1) 读取页面元素的onclick属性值

html代码:

链接

取出item身上onclick属性的值:alert('ok');
实现:

IHTMLElement *item;// 已经找到该元素
CComQIPtr spElem(item);
VARIANT var;
spElem->get_onclick(&var);
CComQIPtr spDisp(var.pdispVal);
DISPID dispId = 0;
OLECHAR *szName = L"toString";
spDisp->GetIDsOfNames(IID_NULL, &szName, 1, LOCALE_SYSTEM_DEFAULT, &dispId);
DISPPARAMS params;
memset(¶ms, 0, sizeof(params));
VARIANT varRet;
spDisp->Invoke(dispId, IID_NULL, LOCALE_SYSTEM_DEFAULT, DISPATCH_METHOD, ¶ms, &varRet, NULL, NULL);
CString k= CString(varRet.bstrVal);

(2)禁止重定向并获取url重定向后Location头指定的重定向目标

禁止重定向用INTERNET_FLAG_NO_AUTO_REDIRECT

DWORD   dwFlags = INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_NO_AUTO_REDIRECT; 
cFile = (CHttpFile*)Sess.OpenURL(url,1,dwFlags);

获取url重定向后Location头指定的重定向目标
CString cstrLocation;

cFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF, cstrLocation); 

更多精彩内容,请见:http://www.16boke.com

你可能感兴趣的:(C/C++)