51Testing软件测试论坛

标题: 关于lua以post方式提交,调用百度ai文字识别的问题 [打印本页]

作者: 测试积点老人    时间: 2022-8-2 13:15
标题: 关于lua以post方式提交,调用百度ai文字识别的问题

在手机上用Lua做项目需要调用到百度AI的文字识别功能,总时提示:{"error_code":100,"error_msg":"Invalid parameter"},同样的参数与TOKEN在pythone、PHP和postman中测试返回正常

相关代码如下:
  1. <font size="3" style="font-weight: normal;">require("TSLib")
  2. sz = require("sz")
  3. http = require("szocket.http")

  4. 图片路径=userPath().."/res/tt.png"
  5. 图片数据=imageBase64(图片路径)
  6. a=[[{"image":"string"}]]
  7. b=string.gsub(a,"string",图片数据)
  8. json = sz.json
  9. ltn12 = require"ltn12"
  10. response_body = {}
  11. post_data = b
  12. staus,code,header = http.request{
  13. url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=24.cff58a10b896dbc1224efc7ff6974702.2592000.1661401756.282335-*%22,
  14. method = "POST",
  15. headers =
  16. {
  17. ["Content-Type"] = "application/x-www-form-urlencoded",
  18. },
  19. source = ltn12.source.string(post_data),
  20. sink = ltn12.sink.table(response_body),
  21. }
  22. ret =table.concat(response_body)
  23. nLog(ret)</font>
复制代码
总提示“Invalid parameter”,错误代码100,但同样的token我在其他环境中可正常运行。我估计是这POST方法没写对,但网上关于LUA的文章比较少,偶尔几篇也没解释到POST的点子上,特此请教坛上各位,LUA的POST应该怎么写才能正确对接百度AI的文字识别功能。谢谢折腾一晚上还是没搞懂,这post怎么就没把body的数据传过去。lua的post是怎么工作的?

作者: qqq911    时间: 2022-8-3 11:10
检查下header的信息
作者: jingzizx    时间: 2022-8-3 15:17
报文不对?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2