2

I've got a website that I want to check to see if it was updated since the last check (using hash). The problem is that I need to enter a username and password before I can visit the site.

Is there a way to input the username and the password using python?

0

3 Answers 3

15

Check out the requests library, which you can get via pip by typing pip install requests, either through the cmd prompt, or terminal, depending on your OS.

import requests

payload = {'user' : 'username',
          'pass' : 'PaSSwoRd'}

r = requests.get(r'http://www.URL.com/home', data=payload)

print r.text

You should be alright. If you told us the site in question we could probably provide a better answer.

Sign up to request clarification or add additional context in comments.

4 Comments

A solution using the standard python library is preferable.
Note that if the server uses HTTP Basic Authentication, you'd use auth= instead of data= in the example.
I'm sorry but I didn't put the site in the question because it's a federal site
Is the password sent securely through this method?
1

Yes, it's possible to send the same info as the browser does. Depending on how the browser communicates with the server, it could be as simple as adding username and password as HTTP POST parameters. Other common methods are for the browser to send a hash of the password, or to log in with more than one step.

Comments

1

It's possible to send POST requests from Python. Take a look at httplib, it's standard library for http requests. There are other libraries that could help you act more like a browser. My favorite is mechanize.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.