目前我正在使用具有电报接口的简单机器人。问题是,finagle有办法发出http请求,但我不知道如何发出https请求。 我尝试使用scala-library finagle向电报机器人API发出https请求:
val service: Service[http.Request, http.Response] = Http.client.withTlsWithoutValidation.newService("api.telegram.org:443")
val request = http.Request(http.Method.Get,bottoken + "/getMe")
request.host = "api.telegram.org"
val t = Await.result(service(request) onSuccess(a => a) onFailure( exc => println("Auth check failed : " + exc.toString )))
if (t.status == Status.Ok) {
println("Auth check success")
} else {
println("Auth check failed : " + t.toString + "\r\n" + t.contentString)
}
每次运行此代码时,都会产生400 Bad Request http响应。
Http.client.withTls("api.telegram.org")
产生相同的结果。 我做错了什么?
答案 0 :(得分:0)
您必须在请求中添加http协议。
val request = http.Request(http.Method.Get, "http://yourholeHost/getMe")