`
iMzw
  • 浏览: 190798 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解决Google App Engine HTTPS 认证问题

阅读更多

UPDATE(2008-10-21): 目前Google App Engine 已经支持HTTPS.

 

最近玩儿Google App Engine, 遇到一个很大的问题.那就是Google App Engine的Fetch API, 不支持HTTPS认证.

Google App Engine 文档 写道
Note: URL fetching cannot authenticate the server of an https request because there is no certificate trust chain. The proxy accepts all certificates, including self-signed certificates.

 但是很多第三方的API需要HTTPS认证.比如Delicious的API. 没办法只好研究了一下认证原理,原来只需要在请求的Header里加入认证语句就可以,而Fetch API可以设置请求Header. 也就是按照如下的方式就可以解决:

import base64
import logging
from google.appengine.api import urlfetch

def login(uname, pwd):
    
    #构建请求认证头信息
    encoded = base64.b64encode(uname + ':' + pwd)
    authstr = "Basic "+encoded
    autoheaders = {'Authorization':authstr,}

    #需要认证的地址		
    url = "https://....." 
    
    #请求
    result = urlfetch.fetch(url,headers = mheaders)	
		
    logging.info(result.content)

 但这只不过是权宜之计而已, 不知google什么时候会解决这个问题, 或者根本就不想解决.

 

但是不管怎样, Google 提供的免费资源, 不用就太浪费了!

 

 

2
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics