algorithm6 2022-04-13 20:27 采纳率: 76.2%
浏览 37
已结题

关于#API#的问题,如何解决?

我在编写下面程序时

#python3
#导入需要的库
import urllib.request
import urllib.parse
import json
import time
import base64
 #加载本地图片
image_path = '输入图片地址'
with open(image_path, 'rb') as f:  # 以二进制读取本地图片
    data = f.read()
    encodestr = str(base64.b64encode(data),'utf-8') # base64编码图片
#设置请求头
headers={'Authorization':'APPCODE 申请到的个人APPCODE',  # 填入个人APPCODE
 'Content-Type': 'application/json; charset=UTF-8'# 定义接口格式
    }
def posturl(url,data={}):
    try:
        params=json.dumps(dict).encode(encoding='UTF-8')
        req = urllib.request.Request(url, params, headers)
        r = urllib.request.urlopen(req)
        html =r.read()
        r.close();
        return html.decode("utf8")
    except urllib.error.HTTPError as e:
        print(e.code)
        print(e.read().decode("utf8"))
    time.sleep(1)
if __name__=="__main__":
url_request="https://gjbsb.market.alicloudapi.com/ocrservice/advanced"   # 对应官网API的URL
    dict = {'img': encodestr}
    html = posturl(url_request, data=dict)
    jos = json.loads(html.encode("utf-8").decode("utf-8"))    # str转json对象,<class 'dict'>
    result = jos['content']  # 获得参数结果
    print('识别的结果:',result)


出现下面的结果

img


请问是什么原因,要怎么解决?

  • 写回答

2条回答 默认 最新

  • 关注

    你这个 https://gjbsb.market.alicloudapi.com/ocrservice/advanced 地址无法访问
    r = urllib.request.urlopen(req)出错
    urllib.error.HTTPError: HTTP Error 400:

    posturl()函数中有错误 执行except语句块
    return html.decode("utf8")没有执行到, posturl()函数返回了None

    你用浏览器访问下https://gjbsb.market.alicloudapi.com/ocrservice/advanced 地址看看能不能访问

    另外

        return html.decode("utf8") utf8之间少了-号
    

    改成

        return html.decode("utf-8")
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月13日
  • 创建了问题 4月13日

悬赏问题

  • ¥15 三极管电路求解,已知电阻电压和三级关放大倍数
  • ¥15 ADS时域 连续相位观察方法
  • ¥15 Opencv配置出错
  • ¥15 模电中二极管,三极管和电容的应用
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused