send post request python

2019-05-20 18:52发布

问题:

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?

回答1:

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.



回答2:

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.



回答3:

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.