use*_*277 9 python ssl ssl-certificate foursquare
我正在尝试使用Mike Lewis的Python包装器向Foursquare API发出无用户请求 - https://github.com/mLewisLogic/foursquare:
client = foursquare.Foursquare(client_id=Client_ID, client_secret=Client_Secret)
categs = client.venues.categories()
Run Code Online (Sandbox Code Playgroud)
间歇性地,我得到一个"错误连接到Foursquare API"的消息.运行记录器以捕获更详细的消息会产生:
"SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败"
在我的本地Windows开发机器和运行ubuntu的服务器上都没有发生这种情况.我是否遗漏了一些关于安全证书的基本内容?这个问题是间歇性的,有时候只需要一分钟就可以重试并暂时修复问题.
我已经下载了最新的20120716版本的包装器,尽管在init.py的代码中它仍然说API_VERSION ='20120608'.我正在使用Python 2.73并且还使用上面代码中的id和secret注册了Foursquare API密钥.我列出了网址,使用我的本地IP:8000并尝试使用单独的密钥用于本地和开发机器,但这似乎没有区别.
非常感谢.谢谢.
edd*_*xie 23
我昨天遇到了完全相同的问题.我搜索了很多并尝试了很多,似乎以下策略适用于我的情况(我不是100%肯定,但它不再报告错误).
1)下载http://curl.haxx.se/ca/cacert.pem
wget http://curl.haxx.se/ca/cacert.pem
Run Code Online (Sandbox Code Playgroud)
2)转到Python httplib2目录.我在
/usr/local/lib/python2.7/dist-packages/httplib2
cd /usr/local/lib/python2.7/dist-packages/httplib2
Run Code Online (Sandbox Code Playgroud)
3)备份当前证书
cp cacerts.txt backup_cacerts.txt
Run Code Online (Sandbox Code Playgroud)
4)然后将下载的文件复制到那里并重命名为 cacerts.txt
mv cacert.pem cacerts.txt
Run Code Online (Sandbox Code Playgroud)
而已.
希望能帮助到你.如果没有从备份文件中恢复并尝试其他方法.
我改变了这个后,我的foursquare脚本工作正常:)
| 归档时间: |
|
| 查看次数: |
7686 次 |
| 最近记录: |