urllib

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

Lihtsa GET päringu tegemine

Alustame vajaliku importimisega:

import urllib.request

Seejärel teeme GET-päringu ja prindime vastuse:

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, encoding='utf-8')
req = urllib.request.Request(url, data=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, encoding='utf-8')
req = urllib.request.Request(url, data=data, headers=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 andmetüübi bytes, peame sellest stringi saamiseks kasutama response.read().decode(‚utf-8‘).

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