VOID CommonGetCookie(LPCSTR pchUrl,CHAR *pchCookieData,int nCookieDataLen,BOOL bFromJs = FALSE) { CUrlParser urlParser; urlParser.ParseUrl(pchUrl); CStringA strCheckDomain; strCheckDomain = urlParser.GetDomain(); strCheckDomain = "."+strCheckDomain; CStringA strSqlCmd; strSqlCmd.Format("select cookiename,cookievalue from cookiedata where \"%s\" like \"%%\"||domain and \"%s\" like path||\"%%\" %s %s " ,strCheckDomain ,urlParser.GetPath() ,bFromJs?"and httponly=0":"" ,urlParser.GetProtocol().CompareNoCase("https") == 0?"and secure=1":"and secure=0" ); CStringA strCookieResult; char *pcherrmsg = NULL; DWORD dwTickStart = GetTickCount(); Locker.rlock(); ASSERT(sqlite3_exec(g_pDB,strSqlCmd,query_cookie_callback,&strCookieResult,&pcherrmsg) == 0); Locker.unlock(); DWORD dwUseTime = GetTickCount() - dwTickStart; CStringA strMsgout; strMsgout.Format("查询Cookie 用时:%d\r\n",dwUseTime); OutputDebugStringA(strMsgout); strcpy_s(pchCookieData,nCookieDataLen,strCookieResult.GetBuffer()); }