m0_45662644 2021-12-24 09:55 采纳率: 0%
浏览 58

关于lua脚本中,for循环使用OpenResty的http请求时-参数传入混乱的问题

问题遇到的现象和发生背景

我在使用OpenResty的发送http请求方法中需要调用多个api接口,使用for循环,循环中第一次的调用没有问题,后续传入参数就混乱了,总是报400 bad request的错误,通过我的java api 查询到报错如下:
java.lang.IllegalArgumentException: Invalid character found in method name [59.134:80000x0d0x0apostman-token: ]. HTTP method names must be tokens

[59.134:80000x0d0x0apostman-token: ] 这个分明是我请求头中的东西

img

以下是http发送请求的代码实现,外部有层for循环,发送请求之前查验过各个参数都没有问题,进了这个方法后就混乱了
local res, err = httpc:request_uri(url, {
    method = send_method,
    body = send_body,
    headers = send_headers,
    keepalive_timeout = 60,
    keepalive_pool = 10
})
httpc:close()
另外我发现如果我吧headers写死的话就不会有这个问题,但是我这里需要动态的传入
  • 写回答

1条回答 默认 最新

  • 拖下去砍了 2021-12-24 10:16
    关注

    首先将各个参数打印出来,看下是否有超长的问题 解决办法:在application.properties文件中配置【server.tomcat.max-http-header-size=8192】
    既然第一次请求能成功,说明不是http和https的问题
    看下是否是异步请求导致循环延迟参数冲突

    评论

报告相同问题?

问题事件

  • 创建了问题 12月24日

悬赏问题

  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?