Edit detail for HTTPAutorizace revision 3 of 1

3
Editor: geon
Time: 2008/04/17 22:04:50 GMT+2
Note:

changed:
-
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...

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...