六、python urllib2请求json数据

需要从别的内部网站上获取数据,使用了python自带的urllib2

    def getIssue(self, viewId):
        '''
        根据指定的viewId 获取该需求的完整信息
        @param viewId: 需求的ViewId,例如:XXX-1
        @return: 如果没有符合条件的需求集合,返回None;否则返回符合条件的需求集合,dict类型
        '''
        url = 'http://aaaa.bbb.cccc/'+viewId
        payload = {'prodKey':'ZZZZZ'}

        data = urllib.urlencode(payload)
        request = urllib2.Request(url, data=data)
        response = urllib2.urlopen(url=request, timeout=15)

        # 由string 类型转成 dict类型,json.loads 自动转成unicode编码;ast.literal_eval编码不变
        result = json.loads(response.read())


        if int(result['result']) == 1:
            issues = json.loads(result['issue'])

            self.logger.debug(' getIssue:%s ' % issues)
            return issues
        else:
            return None

参考文章:
http://zhuoqiang.me/python-urllib2-usage.html#http

发布了50 篇原创文章 · 获赞 4 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章