当前位置: 首页 > 面试题库 >

python httplib名称或服务未知

周翰
2023-03-14
问题内容

我正在尝试使用httplib将信用卡信息发送到authorize.net。当我尝试发布请求时,得到以下回溯:

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

我这样建立我的请求:

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)

要添加另一层,它正在我们的开发服务器上运行,该服务器具有httplib
2.6,并且在httplib.HTTPSConnection中没有source_address参数。

任何帮助是极大的赞赏。

================================================== =========

编辑:

我可以从命令行运行它。显然,这是某种权限问题。有什么想法我需要授予哪些用户才能实现此目的?可能Apache无法打开端口?


问题答案:

问题最终归结为以下事实:selinux正在阻止apache获取该端口。禁用selinux可解决问题。后来我遇到一个我没有/var/www/.python-
eggs/的问题,因此MySQLdb正在导入。但是在mkdir之后,它已修复。



 类似资料:
  • 我们有一个私人空间,并提供了一个内部API的访问权限,这样我们就可以从私人空间应用程序访问它。因此,我们开发了一个演示Java应用程序来测试它。当我们尝试用HTTP连接服务时,堆栈跟踪会像这样结束。 当我们ping私有空间中的相应IP时,我们可以看到它已启动。但是当我们试图从Java应用程序中访问服务时,它就像上面那样结束了。 Java 代码是这样的: 有没有人有任何想法来解决这个问题? 谢谢你。

  • 问题可能是什么,如何解决?请帮帮我

  • 我正在尝试运行一个电子邮件收割机,当我在没有循环的情况下手动输入url时,我没有任何连接错误。 然而,当我从文件中加载url时,我得到以下错误“名称或服务错误” 回溯(最近一次调用):文件“/usr/lib/python3/dist-packages/urllib3/connection.py”,第141行,在新连接(self.host,self.port),self.timeout,**extr

  • 我正在尝试使用Apache Http组件4.5.1使用Instagram进行oauth登录,但未能成功获取访问令牌。 我很确定这是库本身的问题,因为如果我卷曲,我会得到我想要的结果。 所以,我尝试了几种不同的发布调用方式,但它们都给我相同的结果,所以我将发布我发现的最优雅的方式是使用Fluent-hc lib: 我得到的结果是: Java语言网未知后异常:api。instagram。com:名称或

  • 问题内容: 当我尝试将网页加载到终端时,它给出了错误。 我的PC上有互联网,并尝试通过家庭互联网连接。因此,我这里没有任何代理人参与。 并再次尝试,但并不幸运。 但是,如果我使用IP代替域名,则可以正常工作。 有什么线索吗? 问题答案: 问题是: 启用IPV6 DNS服务器错误 这是我的解决方法: IPV6禁用 开放终端 键入并输入登录为超级用户 输入root密码 键入将目录更改为 键入以在那里创

  • 问题内容: 在服务器中运行代码,env为debian时出现此错误,并且 当我运行时,它可以正常工作,没有任何错误: 问题答案: 似乎您正在尝试将Redis与当前Debian环境无法识别的服务器连接。从Traceback,我看到您正在尝试使用主机名localhost进行连接, 但是,您的系统无法理解“ localhost”,在主机文件中输入内容,即说127.0.0.1是localhost。在/ et