Hey,
We have official python SDK [1], i think it's worth for you
using it as HTTP abstraction layer.
[1]
http://www.ovirt.org/wiki/SDK
On 05/08/2012 11:58 AM, Hui Kai Ran wrote:
Hi, all
When I access the REST API like this
====================================
import urllib2
theurl = 'http://9.181.129.112:8080/api'
username = 'admin@internal'
password = 'abcd1234'
# a great password
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password('ENGINE', theurl, username, password)
authhandler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(authhandler)
urllib2.install_opener(opener)
pagehandle = urllib2.urlopen(theurl)
=========================================
urlopen failed.
then We do that another way like this, it is ok
========================================
import urllib2
import sys
import re
import base64
import xml.etree.ElementTree as etree
username='admin@internal'
password='abcd1234'
request = urllib2.Request("http://9.181.129.112:8080/api")
base64string = base64.encodestring('%s:%s' % (username,
password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
result = urllib2.urlopen(request)
by catching the packets transfered, we found the response from ovirt-engine server as
below for failing case:
================================================================
GET /api HTTP/1.1
Accept-Encoding: identity
Host: 9.181.129.112:8080
Connection: close
User-Agent: Python-urllib/2.7
HTTP/1.1 401 Unauthorized
Server: Apache-Coyote/1.1
WWW-Authenticate: Basic realm = "ENGINE"
Content-Type: text/html;charset=utf-8
Content-Length: 956
Date: Fri, 04 May 2012 09:18:06 GMT
Connection: close
Is there anything wrong for oVirt-engine?
Thanks!
_______________________________________________
Engine-devel mailing list
Engine-devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel
--
Michael Pasternak
RedHat, ENG-Virtualization R&D