When accessing authenticated or session-based HTTP resources, cookies play a crucial role. These small data fragments let servers maintain client state across multiple requests. wget can handle cookies, making it possible to reuse session information during scripted downloads.
By saving cookies from one request and using them in subsequent requests, wget preserves the session context. This is important for tasks like retrieving pages behind login screens or accessing user-specific data without repeatedly authenticating.
Proper management of these cookies enhances automation and efficiency. It also demands caution, as cookies may contain sensitive session details. Protecting and discarding them when no longer needed is an essential security measure.
Steps to save session cookies with Wget:
- Start a session and save cookies to a file with the --save-cookies option.
$ wget --save-cookies cookies.txt --keep-session-cookies -O /dev/null https://www.example.com/login
--keep-session-cookies retains session-only cookies that would otherwise be discarded.
- Inspect the cookie file to verify the stored cookies.
$ cat cookies.txt
The file uses the Netscape cookie format, listing domain, path, expiration, name, and value.
Field Description Domain The domain of the cookie. Usually set to the domain of the website. Flag A boolean field (TRUE/FALSE) indicating if all machines within a given domain can access the cookie. Path The path to which the cookie is available. Secure A boolean field (TRUE/FALSE) indicating if the cookie is only sent over HTTPS. Expiration The expiration time of the cookie in Unix timestamp format. Name The name of the cookie. Value The value of the cookie. - Edit the cookie file if necessary, ensuring format integrity.
$ nano cookies.txt
Adjusting cookie values may be needed for testing or troubleshooting.
- Use the saved cookies in subsequent requests with --load-cookies.
$ wget --load-cookies cookies.txt https://www.example.com/dashboard -O dashboard.html
This request includes previously saved cookies, maintaining the session.
- Check the downloaded page to confirm the session was retained.
$ cat dashboard.html
Verify that the content matches what is expected for an authenticated session.
- Secure the cookie file by restricting file permissions.
$ chmod 600 cookies.txt
Protect cookie files to prevent unauthorized access to session data.
- Remove the cookie file when it is no longer needed.
$ rm cookies.txt
Deleting cookies ensures sensitive session data is not retained indefinitely.

Mohd Shakir Zakaria is a cloud architect with deep roots in software development and open-source advocacy. Certified in AWS, Red Hat, VMware, ITIL, and Linux, he specializes in designing and managing robust cloud and on-premises infrastructures.
Comment anonymously. Login not required.