如何使用Finagle到Telegram API进行正确的https请求

时间:2017-06-22 10:34:09

标签: scala https authorization telegram finagle

目前我正在使用具有电报接口的简单机器人。问题是,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")

产生相同的结果。  我做错了什么?

1 个答案:

答案 0 :(得分:0)

您必须在请求中添加http协议。

val request = http.Request(http.Method.Get, "http://yourholeHost/getMe")