urllib

urllib lubab meil teha päringuid nii with märksõna kasutades kui ilma. Laias laastus töötavad nad sama moodi, seega mõlematpidi kasutamiseks ma kõiki näiteid ei tee.

Lihtsa GET päringu tegemine

Alustame kõige vajaliku importimisega:

import urllib.request
response = urllib.request.urlopen('https://reddit.com')
print(response.read())

Lihtsa POST päringu tegemine

import urllib.request
import urllib.parse
url = "http://reddit.com"
params = {
    "name": "Bertram Gilfoyle",
    "age": -1,
    "has_glasses": True
}

data = urllib.parse.urlencode(params)
req = urllib.request.Request(url, data)
response = urllib.request.urlopen(req)
print(response.read())

POST päringule headerite lisamine:

import urllib.request
import urllib.parse
API_KEY = "averysecureapikey"
url = "http://reddit.com"
params = {
    "name": "Bertram Gilfoyle",
    "age": -1,
    "has_glasses": True
}
headers = {"X-API-KEY": API_KEY}

data = urllib.parse.urlencode(params)
req = urllib.request.Request(url, data, headers)
response = urllib.request.urlopen(req)
print(response.read())

Päringu tegemine kasutades 'with' võtmesõna:

with urllib.request.urlopen("https://reddit.com") as request:
    print(request.read())

Stringi saamine HTTP vastusest:

Kuna response.read() tagastab andetüübi bytes, peame sellest stringi saamiseks kasutama response.read().decode()-i.

Lisaks saad lugeda siit: https://docs.python.org/3.1/howto/urllib2.html