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