linux上的python httplib2问题

2024-10-03 06:30:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用以下代码片段来调用需要基本身份验证的web服务:

import urllib
import httplib2
url='http://heywatch.com/download.json'
body={'username':'my_username','password':'my_password'}
header_data={'Accept': 'application/json'}
http=httplib2.Http()
response, content = http.request(url, 'POST', headers=header_data,     body=urllib.urlencode(body))

我在两个不同的环境中运行相同的片段:

MacOSX 10.6.6,python版本2.6.1-我得到了正确的响应

Linux-centos,python版本2.6.6-我得到以下异常:

^{pr2}$

我用不同的python版本在多个linux版本上运行了这段代码,一切都很好。我也注意到机器上的卷曲不正常。下面的curl命令(模拟上面的代码)在我的Mac OSX上运行良好:

curl -u username:password -X POST -d "url=https://s3.amazonaws.com/my_video_to_be_encoded.mov" -d "title=new_video" -d "automatic_encode=true" -d "ping_url_after_encode=http://mydomain/video_encode_success" https://heywatch.com/download.json

但在受影响的linux工作站上失败,并显示以下消息:

curl: (6) Couldn't resolve host 'heywatch.com'

知道为什么会这样吗?似乎有些操作系统设置不正确。如果有帮助的话,我在amazonec2中使用了一个amazon version of linux,它被相当地锁定了。在


Tags: 代码版本comjsonhttpurlmylinux
1条回答
网友
1楼 · 发布于 2024-10-03 06:30:55

这与linux机器的解析方式有关海沃奇网站. 你能打个乒乓球看看海沃奇网站是可到达的(可能不是)。你可能想看看/等等/决议.conf查看配置了哪些名称服务器,并询问amazon是否正在使用它们的名称服务器。在

FWIW,我刚试着在linode中解析我的ubuntu上的heywatch,它似乎解决得很好。在

相关问题 更多 >