I am trying to login to a site using python requests. Normally I do this using curl in the cmd.
curl -c <path/urs_cookies.txt> -n -L https://site_FileUpload/login
Where the -n searches for the .netrc file in the cwd which contains my username and password.
However doing this in python using does not work
login = requests.get(url, auth=(username, password))
I believe this is because I need to use my .netrc file instead of using the authorisation method.
Is there anyway I can attach this file to my login request?
Thanks a lot
If your .netrc file exists in your home directory, python requests will automatically check that file for credentials under a given machine (hostname) when the auth argument is not provided.
From the requests documentation: https://requests.readthedocs.io/en/latest/user/authentication/?highlight=.netrc#netrc-authentication
If no authentication method is given with the auth argument, Requests will attempt to get the authentication credentials for the URL’s hostname from the user’s netrc file. The netrc file overrides raw HTTP authentication headers set with headers=.
If credentials for the hostname are found, the request is sent with HTTP Basic Auth.
The following should work assuming you have a valid .netrc file in your home directory. https://www.labkey.org/Documentation/wiki-page.view?name=netrc
login = requests.get(url)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With