Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to attach .netrc file to python requests get method?

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

like image 422
TechnoTerry Avatar asked Sep 08 '26 18:09

TechnoTerry


1 Answers

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)
like image 164
Michael Bridges Avatar answered Sep 10 '26 09:09

Michael Bridges



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!