Próbuję użyć httplib wysłać dane karty kredytowej do authorize.net. Kiedy próbuję pisać wniosek, pojawia się następujący traceback:pyton httplib Nazwa lub usługa nie jest znana
File "./lib/cgi_app.py", line 139, in run res = method()
File "/var/www/html/index.py", line 113, in ProcessRegistration conn.request("POST", "/gateway/transact.dll", mystring, headers)
File "/usr/local/lib/python2.7/httplib.py", line 946, in request self._send_request(method, url, body, headers)
File "/usr/local/lib/python2.7/httplib.py", line 987, in _send_request self.endheaders(body)
File "/usr/local/lib/python2.7/httplib.py", line 940, in endheaders self._send_output(message_body)
File "/usr/local/lib/python2.7/httplib.py", line 803, in _send_output self.send(msg)
File "/usr/local/lib/python2.7/httplib.py", line 755, in send self.connect()
File "/usr/local/lib/python2.7/httplib.py", line 1152, in connect self.timeout, self.source_address)
File "/usr/local/lib/python2.7/socket.py", line 567, in create_connection raise error, msg
gaierror: [Errno -2] Name or service not known
buduję moją prośbę tak:
mystring = urllib.urlencode(cardHash)
headers = {"Content-Type": "text/xml", "Content-Length": str(len(mystring))}
conn = httplib.HTTPSConnection("secure.authorize.net:443", source_address=("myurl.com", 443))
conn.request("POST", "/gateway/transact.dll", mystring, headers)
dodać kolejną warstwę na to, że działa na naszym serwerze rozwoju, który ma httplib 2.6 i bez parametru adres_źródłowy w httplib.HTTPSConnection.
Każda pomoc jest bardzo doceniana.
============================================== =============
EDIT:
mogę go uruchomić z linii poleceń. Najwyraźniej jest to problem z uprawnieniami. Jakieś pomysły, jakie uprawnienia muszę przyznać użytkownikom, którzy mogą to zrobić? Być może Apache nie może otworzyć portu?
Co dzieje się z żądaniem GET, tą samą ścieżką, bez nagłówków? – TryPyPy
to samo, co w poście. – Chris
Hm, skrypt działa dobrze tutaj, nawet przechodząc do 'Identyfikator logowania sprzedawcy lub hasło jest nieprawidłowe lub konto jest nieaktywne." Jeśli wydrukuję odpowiedź. Koncentracja na problemach sieciowych; – TryPyPy