HTTP Authentication using urllib2

2009-04-24 Thread Lakshman
I am trying to authenticate using urllib2. The basic authentication
works if I hard code authheaders.
def is_follows(follower, following):

theurl = 'http://twitter.com/friendships/exists.json?
user_a='+follower+'user_b='+following
username = 'uname1'
password = 'pwd1'

handle = urllib2.Request(theurl)

authheader =  Basic %s % base64.encodestring('%s:%s' %
(username, password))
handle.add_header(Authorization, authheader)

try:
return simplejson.load(urllib2.urlopen(handle))
except IOError, e:
print Something wrong. This shouldnt happen


I am trying to refactor this code into how urllib2 expects to do. But
I am getting an error.

def is_follows(follower, following):

url = 'http://twitter.com/friendships/exists.json?user_a=%suser_b=
%s' %(
follower, following)


#Authenticate once for all
auth_handler = urllib2.HTTPBasicAuthHandler()
auth_handler.add_password(realm='',
  uri='http://twitter.com',
  user='scorpion032',
  passwd='123456')
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)

try:
return simplejson.load(urllib2.urlopen(url))
except:
print Something wrong. This shouldnt happen
return False

Can U please point what I am missing. As I understand, the Auth
Headers are put appropriately in either cases, but the latter one
doesnt work.
--
http://mail.python.org/mailman/listinfo/python-list


HTTP Authentication

2009-04-06 Thread Lakshman
Whats is the python urllib2 equivallent of

curl -u username:password status=abcd http://example.com/update.json

I did this:

handle = urllib2.Request(url)
authheader =  Basic %s % base64.encodestring('%s:%s' % (username,
password))
handle.add_header(Authorization, authheader)

Is there a better / simpler way?
--
http://mail.python.org/mailman/listinfo/python-list


Authorize.net integration problem

2009-03-31 Thread Lakshman
I am trying to integrate Authorize.net SIM API into django views.

I am facing a problem in the fingerprint generation. I am repeatedly
getting that the fingerprint generated doesn't match the one the
server generates.

I have generated the md5 hash with the key provided as specified in
the SIM documentation.

Here is the code:

params = {
'x_login' : '4ffrBT36La',
'x_amount' : '100.00',
'x_show_form' : 'PAYMENT_FORM',
'x_type' : 'AUTH_CAPTURE',
'x_method' : 'CC',
'x_fp_sequence' : '123',
'x_version' : '3.1',
'x_relay_response' : 'FALSE',
}
params['x_fp_timestamp'] = int(time.time())

msg = '^'.join([params['x_login'],
   str(params['x_fp_sequence']),
   str(params['x_fp_timestamp']),
   str(params['x_amount'])
   ])+'^'

fingerprint = hmac.new('9LyEU8t87h9Hj49Y',msg).hexdigest()


I would be glad if some one that has dealt with this earlier, points
out what the glitch is. Thanks in advance.
--
http://mail.python.org/mailman/listinfo/python-list


Re: Authorize.net integration problem

2009-03-31 Thread Lakshman Prasad
Yup. Unusual, it is.

But thats how their string specification syntax is. It includes a ^ at the
end.


On Tue, Mar 31, 2009 at 6:13 PM, andrew cooke and...@acooke.org wrote:


 have you printed msg and checked it is formatted correctly?  i have node
 idea what the protocol is, but your use of join and string concatenation
 in the generation of msg looks unusual to me.

 andrew

 Lakshman wrote:
  I am trying to integrate Authorize.net SIM API into django views.
 
  I am facing a problem in the fingerprint generation. I am repeatedly
  getting that the fingerprint generated doesn't match the one the
  server generates.
 
  I have generated the md5 hash with the key provided as specified in
  the SIM documentation.
 
  Here is the code:
 
  params = {
  'x_login' : '4ffrBT36La',
  'x_amount' : '100.00',
  'x_show_form' : 'PAYMENT_FORM',
  'x_type' : 'AUTH_CAPTURE',
  'x_method' : 'CC',
  'x_fp_sequence' : '123',
  'x_version' : '3.1',
  'x_relay_response' : 'FALSE',
  }
  params['x_fp_timestamp'] = int(time.time())
 
  msg = '^'.join([params['x_login'],
 str(params['x_fp_sequence']),
 str(params['x_fp_timestamp']),
 str(params['x_amount'])
 ])+'^'
 
  fingerprint = hmac.new('9LyEU8t87h9Hj49Y',msg).hexdigest()
 
 
  I would be glad if some one that has dealt with this earlier, points
  out what the glitch is. Thanks in advance.
  --
  http://mail.python.org/mailman/listinfo/python-list
 
 





-- 
Regards,
Lakshman
becomingguru.com
lakshmanprasad.com
--
http://mail.python.org/mailman/listinfo/python-list