how about: import urllib2 r = urllib2.Request('https://orbitalvar1.paymentech.net/authorize:443', xml_request, {'Content-Type', 'application/PTI46', ...}) resp = urllib2.urlopen(r)
see http://docs.python.org/library/urllib2.html On Sunday, July 8, 2012 6:44:12 PM UTC-7, Adi wrote: > > Thanks for the response. > > Even though I got this response: 412 Precondition Failed, the code bellow > seems to work fine. Will check more tomorrow. > > import sys, httplib, urllib, urllib2 > target = "https://orbitalvar1.paymentech.net/authorize:443" > HOST, API_URL = urllib2.splithost(urllib2.splittype(target)[1]) > xml_request="proper security and order details..." > > conn = httplib.HTTPS(HOST) > conn.putrequest('POST', API_URL) > conn.putheader("Content-Type", "application/PTI46") > conn.putheader("Content-transfer-encoding", "text") > conn.putheader("Document-type", "Request") > conn.putheader("Trace-number", "123456") > conn.putheader("MIME-Version", "1.0") > conn.endheaders() > conn.send(xml_request) > statuscode, statusmessage, header = conn.getreply() > > > > > On Sunday, July 8, 2012 2:52:14 PM UTC-4, howesc wrote: >> >> i've never used HTTP lib before, and i found "This module defines classes >> which implement the client side of the HTTP and HTTPS protocols. It is >> normally not used directly — the module >> urllib<http://docs.python.org/library/urllib.html#module-urllib>uses it to >> handle URLs that use HTTP and HTTPS." here >> http://docs.python.org/library/httplib.html >> >> perhaps give urllib or urllib2 a try - i use those all the time with >> great success! >> >> cfh >> >> On Friday, July 6, 2012 10:30:34 AM UTC-7, Adi wrote: >>> >>> >>> Could anyone please advise if I'm doing this correctly? I'm trying to >>> post a request to Paymentech gateway. When I try the link in a browser, it >>> responds fine (https://orbitalvar1.paymentech.net/authorize:443), but >>> using post as bellow returns an error. Most likely I'm doing something >>> wrong, but can't figure out what. >>> >>> Thanks, >>> Adnan >>> >>> >>> *CODE:* >>> import sys, httplib >>> >>> request = xml_string # "proper xml request..." >>> >>> HOST = "https://orbitalvar1.paymentech.net/authorize:443" >>> # tried without https as well: HOST = " >>> orbitalvar1.paymentech.net/authorize:443" >>> webservice = httplib.HTTPS(HOST) >>> webservice.putrequest("POST", '') >>> webservice.putheader("Host", HOST) >>> webservice.putheader("User-Agent","Python post") >>> webservice.putheader("Content-Type", "application/PTI46") >>> webservice.putheader("Content-transfer-encoding", "text") >>> webservice.putheader("Content-length", "%d" % len(request)) >>> webservice.endheaders() >>> webservice.send(request) >>> statuscode, statusmessage, header = webservice.getreply() >>> print statuscode, statusmessage, header >>> >>> *TRACEBACK:* >>> Traceback (most recent call last): >>> File "/Users/adnan/web2py-dev-branch8/gluon/restricted.py", line 205, >>> in restricted >>> exec ccode in environment >>> File >>> "/Users/adnan/web2py-dev-branch8/applications/dev_thanemobile/controllers/default.py", >>> >>> line 898, in <module> >>> File "/Users/adnan/web2py-dev-branch8/gluon/globals.py", line 173, in >>> <lambda> >>> self._caller = lambda f: f() >>> File >>> "/Users/adnan/web2py-dev-branch8/applications/dev_thanemobile/controllers/default.py", >>> >>> line 43, in test_pmt >>> paymentech.do_request(xml_string) >>> File "applications/dev_thanemobile/modules/paymentech.py", line 46, in >>> do_request >>> webservice.endheaders() >>> File >>> "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", >>> >>> line 937, in endheaders >>> File >>> "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", >>> >>> line 797, in _send_output >>> File >>> "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", >>> >>> line 759, in send >>> File >>> "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", >>> >>> line 1140, in connect >>> File >>> "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", >>> >>> line 553, in create_connection >>> *gaierror: [Errno 8] nodename nor servname provided, or not known* >>> >>>