tonhowtf/omniget · error
o site respondeu — a sessão salva no gerenciador de cookies…
Error message
o site respondeu {} — a sessão salva no gerenciador de cookies expirou ou não tem acesso a isso What it means
get_text maps HTTP 401/403 responses to this error: the saved browser-cookie session (imported from the cookie manager) is expired or the authenticated account does not have access to the requested resource. The client performs authenticated fetches using cookies from the user's browser session.
Solutions
- Log in to the site again in the browser and re-import/refresh the cookie session in the cookie manager
- Verify the account has access to the requested list/resource (private vs public)
- Confirm the correct site's cookies are configured (not a different domain)
- Retry after re-authenticating; if the list is private, make it public or use an export file instead
Defensive patterns
Strategy: try-catch
Validate before calling
let cookies_valid = cookie_manager::has_session_cookie("letterboxd.com"); // check before authenticated fetches
if !cookies_valid { prompt_reauth(); } Try / catch
match client.get_text(&url).await {
Err(e) if e.to_string().contains("401") || e.to_string().contains("403") => {
prompt_user_to_relogin();
}
other => other?,
} Prevention
- Refresh imported cookies whenever you re-login to the site in the browser
- Keep sessions alive by using the app periodically, or re-import after long idle periods
- Verify the list is publicly accessible or that the account has permission before fetching
When it happens
Trigger: A request requiring authentication returned 401 or 403 — typically a private/restricted list or account-scoped endpoint fetched with stale cookies.
Common situations: User logged out of the site in their browser, invalidating the imported session; session cookie aged out; the list is private or belongs to another account; site changed session/auth mechanics.
Related errors
- o Cloudflare do Letterboxd barrou o download. Abra…
- o Letterboxd devolveu uma página em vez do ZIP — a sessão…
- X : HTTP (sessao expirada? entre de novo no X)
- Access denied (403). The video may be private or…
- This video requires login. Import cookies for this site in…
AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12).
Data as JSON: /api/errors/919a87a2394a360c.
Report an issue: GitHub.
Appendix: source
Thrown at src-tauri/omniget-core/src/core/tools/lists/mod.rs:490
Ok(r) if r.status().is_success() => return Ok(r.text().await?),
Ok(r) if r.status().as_u16() == 429 || r.status().is_server_error() => {
if attempt == TRIES {
return Err(anyhow!(
"o servidor está limitando o acesso (HTTP {}). Tente de novo daqui a pouco",
r.status()
));
}
let retry = r
.headers()
.get(reqwest::header::RETRY_AFTER)
.and_then(|v| v.to_str().ok())
.and_then(|v| v.trim().parse::<u64>().ok())
.map(Duration::from_secs);
tokio::time::sleep(retry.unwrap_or(wait)).await;
wait *= 2;
}
Ok(r) if r.status().as_u16() == 401 || r.status().as_u16() == 403 => {
return Err(anyhow!(
"o site respondeu {} — a sessão salva no gerenciador de cookies expirou ou não tem acesso a isso",
r.status()
));
}
Ok(r) if r.status().as_u16() == 404 => {
return Err(anyhow!("não encontrado ({})", url));
}
Ok(r) => return Err(anyhow!("HTTP {} em {}", r.status(), url)),
Err(e) if attempt < TRIES => {
tokio::time::sleep(wait).await;
wait *= 2;
tracing::debug!("lists: tentativa {} falhou: {}", attempt, e);
}
Err(e) => return Err(e.into()),
}
}
Err(anyhow!("não consegui buscar {}", url))
}View on GitHub (pinned to 8600b91f42)