В общем нашёл вот такой код:
| Код | BOOL MHTTP_KillCookie(const char *url, const char *name) { BOOL ret_code = FALSE; char* cook; const char sReset[] = " = 0; expires = Sat, 01-Jan-1990 00:00:00 GMT";
cook = (char*)heap_alloc(lstrlen(name) + sizeof(sReset)); if(!cook) return ret_code;
lstrcpy(cook, name); lstrcat(cook, sReset); ret_code = InternetSetCookie(url, NULL, cook); heap_free(cook); return ret_code; }
// ############################################################################
void MHTTP_KillCookies(const char *url) { char serv[255]; //адрес сервера где убиваем Cookie
//удаляем все временные файлы интернета MHTTP_DelTempFiles();
// ------------------------------------------------------------------------ // Взятие с url адреса сервера serv
// здесь строки вида "http://google.com/path?query" превращаются в // строки вида "http://google.com", тобишь возвращается сервер от полного адреса коль не ясно
HTTPT_url hurl; HTTPT_UrlParse(&hurl, url); HTTPT_UrlGetServAddr(hurl, serv);
// ------------------------------------------------------------------------
DWORD size; InternetGetCookie(serv, NULL, 0, &size); if (!size) return;
char* data = (char*)heap_alloc(size); InternetGetCookie(serv, NULL, data, &size);
// ------------------------------------------------------------------------ // перебор имён cookie
char cookieName[255]; char *ch1, *ch2; ch1 = data;
while (1) { // -------------------------------------------------------------------- // имя
ch2 = StrStr(ch1, "="); if (!ch2) break; lstrcpyn(cookieName, ch1, ch2 - ch1 + 1);
// -------------------------------------------------------------------- //сброс
MHTTP_KillCookie(serv, cookieName);
// -------------------------------------------------------------------- // следующий cookie
ch1 = StrStr(ch1, "; "); if (!ch1) break; ch1 += 2; }
heap_free(data); } |
Остался вопрос о том, как узнать все Urlы? |