Andrise programmeerimisalane WIKI

Veebiaadresside laadimine

Veebiaadressidelt sisu laadimiseks on kasutusel Google App Engine spetsiifiline teek urlfetch

from google.appengine.api import urlfetch

Tugi on ka olemas teiste sarnaste Pythoni teekide jaoks nagu näiteks urllib või urllib2 kuid nende meetodid veebist sisu laadimiseks on tegelikult asendatud taustal urlfetch teegi meetoditega - kõik andmete laadimised Google infrastruktuuris käivad ühtedel ja samadel alustel samu vahendeid kasutades (ise ei saa ühendusi avada) ning neid vahendeid urlfetch pakubki.

Kõige lihtsam andmete laadimise viis on tavaline GET päring ilma täiendavate parameetriteta.

url = "http://www.neti.ee/"
result = urlfetch.fetch(url)
if result.status_code == 200:
  self.response.out.write(result.content)
else:
  self.response.out.write("viga aadressi laadmisel)

Näites laetakse alla aadressil http://www.neti.ee/ asuv sisu ning juhul kui vastuskood on 200 (ehk kõik õnnestus), väljastatakse selle aadressi sisu ekraanile.

Keerukama päringu tegemiseks, kus on vaja lisada ka päringuparameetreid, tasub vajalike meetodite jaoks sisse laadida urllib teek

import urllib

Selles teegis sisaldub oluline funktsioon urlencode mis võtab sisendiks päringuparameetrid nende objektilisel kujul ning teisendab selle üheks pikaks tekstiliseks päringuprameetriks.

vormi_väljad= {
  "nimi": "Peeter Meeter",
  "aadress": "Metsa tee 31, Rakvere"
}
 
vormi_andmed = urllib.urlencode(vormi_väljad)
 
vastus = urlfetch.fetch(url=url,
  payload=vormi_andmed,
  method=urlfetch.POST,
  headers={'Content-Type': 'application/x-www-form-urlencoded'})

Nii määratakse päringu tüübiks POST, parameetriteks objekti vormi_väljad elemendid ja täiendavateks päiseparameetriteks Content-Type=application/x-www-form-urlencoded.