Pokud potřebujete poslat něco pomocí metody post na server, tak tenhle script by vam měl pomoci... Pokud hledate samotnou HTTP Autorizaci, pak Vám postači druhej odstavec kódu s nazvem:"###Autorizace":

import urllib2,urllib
#Made by C-X in SciTE Editor

###Metoda post
adresa = "http://adresa-vaseho-serveru-s-HTTP-autorizaci"
parametry = {
    "print " : "Hello world"}

# Prekoduje parametry do tvaru vhodneho pro odeslani
params = urllib.urlencode(parametry)
# Vytvori request, coz je smichanina adresy a parametru, pripadne i hlavicek
req = urllib2.Request(adresa, params)

###Autorizace
auth_handler = urllib2.HTTPBasicAuthHandler() #hlavicka
#Do hlavicky prida heslo, uzivatelsky jmeno a adresu.(coz je keyword paramtr uri).
#Pomoci metody get_full_url() dostaneme plnou adresu, ktera je nyni namichana s funkci post
# a my do ni zamichame jeste autorizaci
auth_handler.add_password(realm='My Realm', uri=req.get_full_url(), user='user', passwd='password')
opener = urllib2.build_opener(auth_handler)#vytvori Opener
#nainstaluje opener takze uz muzeme adesu otevrit normalne pomoci urlopen...
urllib2.install_opener(opener)

urllib2.urlopen(req)#otevrem
urllib.close()#a zavrem

Princip

Takže jak to cele funguje?

  • Za prvé metoda post: To je vlastně smichanina adresy a dat které chceme odeslat - data jsou ve formatu formular:data.
  • Za druhé autorizace: Ta nám do URL ještě zakombinuje jméno, heslo a realm, poté když uz má tuto URL kompletně smichanou tak vytvoři opener a ten poté nainstaluje do urllib2...




subject:
  ( 112 subscribers )