.


:




:

































 

 

 

 


Urllib2 ү




urllib urlparse ң ғ, - қ Python- , ө ғ . ғ қ ө . ұ ғғ httplib - HTTP ұ ү қғ ә HTTP-ұ ү құғ (ә httplib қғ). , қ urllib2 ә ү.

ң үң ұқ - қ. ө қ ұқ қ қ, қ urllib2 ң ө қғ: ә қ өң (handlers) қ.

urllib2 ө URL қ құ ө (ұ Python-ғ құ ғ).

import urllib2

# қ ә

authinfo = urllib2.HTTPBasicAuthHandler()

authinfo.add_password('My page', 'localhost', 'user1', 'secret')

# қ қ

proxy_support = urllib2.ProxyHandler({'http': 'http://localhost:8080'})

# өң ө ң құ

opener = urllib2.build_opener(proxy_support,

authinfo,

urllib2.CacheFTPHandler)

# ө

opener.addheaders = [('User-agent', 'Mozilla/5.0')]

# ү ң

urllib2.install_opener(opener)

# қ

f = urllib2.urlopen('http://localhost/mywebdir/')

print f.read()[:100]

ұ , mod_python қғ (ғ ә қң), қғ қ . add_password() ә қ қ әң ( -ң ғ AuthName "My page" ) -ә (realm) . Қғ ү ү:қ , қ ә ң ө. Ә, ң ұ ұ ү - ұқ .

қ ү ү өң қғғ: HTTPBasicAuthHandler, ProxyHandler CacheFTPHandler. urllib2 , әң ғ Python қғ ұқң құ . қ ү : OpenerDirector. ә ң urllib2.build_opener() құ.

urllib2 URL ғ ұ ү . ұ urllib2.Request . ң ұң ү қ. HTTP-ұ қ қ қ , ұқ қ қ ғ ө.

import urllib2, base64

req = urllib2.Request('http://localhost/mywebdir')

b64 = base64.encodestring('user1:secret').strip()

req.add_header('Authorization', 'Basic %s' % b64)

req.add_header('User-agent', 'Mozilla/5.0')

f = urllib2.urlopen(req)

print f.read()[:100]

ұ ө ұғ, қ: - қ ә HTTP-ұң Authorization ө (ғ base64).

:

, - қ ө.

XML-RPC

ү ңқ өқ қ. Python- ғ құ ә ң ө құ . , Python- ғ қ өң , ү XML-RPC ңғ . қ ңғ қғ XML ң қ қ, , ұғқ. RPC ққ (Remote Procedure Call, қққғ қ) ң ә ү: XML-RPC ө қққғ қғ . ә XML-RPC ө қ ғ , ғ ә ү (, , қ ә ә ..) қ , . Python қққғ қ қ қ ғ қ:

import xmlrpclib

#

req = xmlrpclib.ServerProxy("http://localhost:8000")

try:

# қққғ қ

print req.add(1, 3)

except xmlrpclib.Error, v:

print "ERROR",

ө XML-RPC-ң ө (ғ ө ү, ң қ қ):

from SimpleXMLRPCServer import SimpleXMLRPCServer

srv = SimpleXMLRPCServer(("localhost", 8000)) # қ

srv.register_function(pow) #

srv.register_function(lambda x,y: x+y, 'add') # ә ғ

srv.serve_forever() # ұғ қ

XML-RPC ( ұ ғ қғ ү ң) ө қ қғ үң қ ә ә қ ә - ө ү ө .

ң!

Ә, ұ ғ. қ XML-RPC қ қ қғ . қ, ғ өң ү, өғ қ . өғ ү ( ө ә қ ) ө қ : ө қ , қ, ThreadingXMLRPCServer, SocketServer.TCPServer SocketServer.ThreadingTCPServer қ. ұ ғ ұ. ұқ: SimpleXMLRPCServer ң қ қ?

ұ ә қ ә құғ ә ұ ү Python ү ө. Python-ғ ң қғ , қ қ ү ғ ү қғ . ұ ү socket қ , ғ ң ү ғ ғ smtplib, poplib, httplib ә .. WWW ү ұ ү urllib, urllib2, urlparse қғ . ғ қ ұғ қ. ү қ ө ү ұ: құғ, ң қ , . ұ ә ғ ң құ . XML-RPC ү - ұ . ұ HTTP құ, қ қғ қ .

 

 

10-ә: қ ұ





:


: 2017-01-28; !; : 595 |


:

:

- , 20 40 . - .
==> ...

1455 - | 1422 -


© 2015-2024 lektsii.org - -

: 0.012 .