EasyDl定制训练平台
投桃报立杆待 发布于2020-06-08 15:58 浏览:504 回复:1
0
收藏

 经典图像分类API调用文档 请求代码示例用的python2 看不懂  有会的吗 改成py3  谢谢!!

 

# encoding:utf-8
import urllib2

'''
easydl图像分类
'''

request_url = "【接口地址】"

 

params = "{\"image\":\"sfasq35sadvsvqwr5q...\",\"top_num\":\"5\"}"

access_token = '[调用鉴权接口获取的token]'
request_url = request_url + "?access_token=" + access_token
request = urllib2.Request(url=request_url, data=params)
request.add_header('Content-Type', 'application/json')
response = urllib2.urlopen(request)
content = response.read()
if content:
print content                 

收藏
点赞
0
个赞
共1条回复 最后由756665228回复于2020-06-08 18:03
#2756665228回复于2020-06-08 18:03:41

只要懂HTTP就够了。百度封装的HTTP协议接口。是遵循相关HTTP的标准的。没有特殊的东西

下面代码是我自己尝试亲测的代码。本身不会Python。很多东西都是基于百度AI文档示例代码。和百度搜索得到的。不清楚能否适用到你说的py3

    import urllib3, json, base64
    def image_classification():
        #access_token获取方法请详见API使用说明,请注意access_token有效期为30天,这里仅为了简化编码每一次请求都去获取access_token
        access_token='【access_token】'
        http=urllib3.PoolManager()
        #请将API地址替换为EasyDL提供的API地址
        url='【API地址】?access_token='+access_token
        #修改图片地址,测试不同图片
        f = open('【本地图片地址】','rb')
        #参数image:图像base64编码以及返回分类数量top_num设置为5
        img = base64.b64encode(f.read())
        #img参数进行一下str转换
        params={'image':''+str(img,'utf-8')+'','top_num':5}
        #对参数params数据进行json处理
        encoded_data = json.dumps(params).encode('utf-8')
        print(encoded_data)
            request=http.request('POST', 
                          url,
                          body=encoded_data,
                          headers={'Content-Type':'application/json'})
        #对返回的byte字节进行处理。Python3输出位串,而不是可读的字符串,需要进行转换
        result = str(request.data,'utf-8')
        print(result)
    #输出结果
    print(image_classification())
1
TOP
切换版块