login with python requests

requests library is a powerful python package for http. You can use it to fetch web pages, and do anything as the http verbs can do. To use requests, install it first:

pip install requests

The requests package will be installed in, e.g., c:\Python\Lib\site-packages\requests. To use the request package in  a script, import it first:

import requests

Since requests package imports its major functions/classes like request, get, head, post, patch, put, delete, options, Session in its __init__.py, we can use the apis directly such as:

import requests
r = requests.get('https://myprogrammingnotes.com')
r = requests.post('https://myprogrammingnotes.com', data = {'key':'value'})
headers = {'user-agent': 'my-app/0.0.1'}
r = requests.get(url, headers=headers)
r.text
r.content
r.json()
r.raw
r.status_code
r.headers
r.cookies['example_cookie_name']

jar = requests.cookies.RequestsCookieJar()
jar.set('tasty_cookie', 'yum', domain='httpbin.org', path='/cookies')
r = requests.get(url, cookies=jar)

Logging in a website means you deliver a username/password to a url(login endpoint) in exchange for a cookie. You send the cookie in the subsequent http requests without the need to send the username/password again. The server decodes the cookie and tells that you have the privileges to access the resources.  To login a website, you’d better use the Session class of requests as Session class will preserve the states such as the cookie got from the login endpoint and send it automatically in the following requests. If you do not use Session, you need to save the cookie and send the cookie header in the subsequent requests manually, which is inconvenient.

import request
session = requests.Session()
session.headers.update({'User-Agent': "myapp1,0"})
mydata = json.dumps({'username': username,'password': password})
response = session.post(loginurl,data=mydata)
session.get(followingurl)
session.post(followingurl)

If you want to reuse the cookie after the program exits, you need to save the cookie into a file and load it from the file next time the program runs.

with open(cookiefilename, 'w') as f:
            json.dump(requests.utils.dict_from_cookiejar(session.cookies), f)

with open(cookiefilename, 'r') as f:
           session.cookies = requests.utils.cookiejar_from_dict(json.load(f))

 

Did you like this?
Tip admin with Cryptocurrency

Donate Bitcoin to admin

Scan to Donate Bitcoin to admin
Scan the QR code or copy the address below into your wallet to send some bitcoin:

Donate Bitcoin Cash to admin

Scan to Donate Bitcoin Cash to admin
Scan the QR code or copy the address below into your wallet to send bitcoin:

Donate Ethereum to admin

Scan to Donate Ethereum to admin
Scan the QR code or copy the address below into your wallet to send some Ether:

Donate Litecoin to admin

Scan to Donate Litecoin to admin
Scan the QR code or copy the address below into your wallet to send some Litecoin:

Donate Monero to admin

Scan to Donate Monero to admin
Scan the QR code or copy the address below into your wallet to send some Monero:

Donate ZCash to admin

Scan to Donate ZCash to admin
Scan the QR code or copy the address below into your wallet to send some ZCash:

Leave a Reply