You can normally use the Developer tools of your browser (Firefox and Chrome support this) to read the headers sent by your browser.
This can be used in a good way (providing the real download rather than a list of mirrors) or in a bad way (reject user agents which do not start with Mozilla, or contain Wget or curl).
It should not be relied on, but even eBay failed to reset a password when this header was absent.
The server that checked the referrer bounced through a 302 to another location that performed no checks at all, so a curl or wget of that site worked cleanly. By adding this to the command-line I could get the file using curl and wget. The specific problem I had encountered was that the server was checking the referrer. Thanks to all the excellent answers given to this question. (this is not about being able to get the file - I know I can just save it from my browser it's about understanding why the command-line tools work differently) What other reasons might there be for the 403, and what ways can I alter the wget and curl commands to overcome them? I try again with my browser's user agent, obtained by. I can view the file using the web browser on the same machine. I try to download a file with wget and curl and it is rejected with a 403 error (forbidden).