hiroi-sora / Umi-OCR

OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言库。
MIT License
23.5k stars 2.39k forks source link

能否对http调用增加token选项 #581

Closed miaomiaocatmsg closed 2 weeks ago

miaomiaocatmsg commented 2 weeks ago

Issues

Expected behavior 预期的功能

能否对http调用增加token选项 或者校验,这样外网服务时候,就不会被非法调用了

Approximate reference (optional) 近似的参考(可选)

No response

miaomiaocatmsg commented 2 weeks ago

另外使用http接口的时候,返回数据似乎有问题 测试代码:{ "base64": "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", "options": { "data.format":"text" } }

接口 /api/ocr

返回数据 {"code": 100, "data": "\u754c\u9762\u548c\u5916\u89c2\n", "score": 0.9998948097229003, "time": 0.04785656929016113, "timestamp": 1720163737.8631556}

data里末尾会多出一个 \n 导致解析会出现换行符

hiroi-sora commented 2 weeks ago
  1. 安全机制

暂时不会添加授权访问机制。如果要公开到外网,可以使用 Nginx 等反向代理,在外部添加校验。

  1. 换行符

返回值json中可能存在转义后的换行符 "\n" (即反斜杠+n),因为OCR结果中可能含多行文本。不会存在换行符符号本身。

比如你的示例中,原始数据是 \u754c\u9762\u548c\u5916\u89c2\n ,其中 \n 是由两个字符 \+n 组成的,而不是一个换行符号。

我们文档中的py和js示例都可以正确解析的。如果你的客户端无法解析,可能是拿到返回值后做了一次反转义,将 "\n" 转为了换行符。请尝试对原始返回值 直接做json解析。

或者,可以尝试在拿到数据后,先将\n替换为别的标记符号,解析完json再换回去。

miaomiaocatmsg commented 2 weeks ago

ok,感谢回复

hiroi-sora commented 2 weeks ago

关于换行符的问题,你可以把你客户端接收数据相关的代码放上来看看