如何增加 ktor 可接受 url 的最大长度?

Posted

技术标签:

【中文标题】如何增加 ktor 可接受 url 的最大长度?【英文标题】:How to increase max length of acceptable url for ktor? 【发布时间】:2019-08-05 06:27:06 【问题描述】:

现在我的 ktor 服务器是基于 netty 的。 当我执行长 GET 请求(大约 9300 个字符(主要在查询参数中))时,ktor 回答 Unhandled: GET - /bad-request。 如果我减少 url 的长度,它工作正常。

【问题讨论】:

【参考方案1】:

在您的嵌入式服务器配置中,您可以提供一个函数“httpServerCodec”来创建 HttpServerCodec (https://netty.io/4.1/api/io/netty/handler/codec/http/HttpServerCodec.html),您可以在其中设置 maxInitialLineLength 属性。

embeddedServer(Netty, configure = 
    // Size of the queue to store [ApplicationCall] instances that cannot be immediately processed
    requestQueueLimit = 16 
    // Do not create separate call event group and reuse worker group for processing calls
    shareWorkGroup = false 
    // User-provided function to configure Netty's [ServerBootstrap]
    configureBootstrap = 
        // ...
     

    httpServerCodec = 
       HttpServerCodec(.......)
    
    // Timeout in seconds for sending responses to client
    responseWriteTimeoutSeconds = 10 
) 
    // ...
.start(true)

【讨论】:

以上是关于如何增加 ktor 可接受 url 的最大长度?的主要内容,如果未能解决你的问题,请参考以下文章

增加 asp.net 核心中的最大 url 长度

是否可以增加 HttpClient 中的最大 URL 长度? (无效的 URI:uri 字符串太长)

SQL语句如何增加列?

如何在 Ktor 客户端中设置内容类型字符集(不是接受字符集)

Ktor - 处理大文件操作而不会发生内存泄漏

在 Ktor 中构建 URL