【发布时间】:2021-08-16 15:07:07
【问题描述】:
suspend fun main(args: Array<String>) {
val client = HttpClient(CIO)
embeddedServer(Netty, 6001) {
routing {
get("/") {
println(call.request.toLogString())
call.respondText("Please use POST method", status = HttpStatusCode.BadRequest)
}
post("/") {
call.respondText("{}")
val params = call.receiveText()
println(params)
delay(200)
println("pre response")
val response2: HttpResponse = client.post("https://google.com")
println(response2.status)
val response: HttpResponse = client.post("https://discord.com/api/webhooks/discord/webhookurl") {
body = "{\"content\": \"$params\"}"
}
println("after")
println("response: ${response.receive<String>()}")
}
}
}.start(true)
}
此代码打印到控制台:
{"test":"test"}
pre response
应用程序冻结。 如果我尝试向 google 或 discord 发送 GET 请求,这将起作用并且不会冻结。 为什么?
【问题讨论】:
-
我在
pre response之后得到了ClientRequestException: Client request(https://google.com/) invalid: 405 Method Not Allowed。如果我为客户端将expectSuccess设置为false,那么应用程序只会打印:{"test":"test"}\n pre response\n 405 Method Not Allowed\n after\n response: {"webhook_id": ["Value \"discord\" is not snowflake."]}\n -
您在服务器日志中看到了什么?请通过editing您的问题添加日志。