Ios 我可以用Alamofire检查HTTP服务器URL端点的可访问性吗?
我有一个用Swift编写的iPad应用程序,它通过RESTAPI与HTTP服务器通信,我需要向两种类型的事件添加侦听器:HTTP服务器应用程序关闭(502503504)和HTTP服务器应用程序再次打开(2xx、3xx、4xx) 现在我正在使用Alamofire的Ios 我可以用Alamofire检查HTTP服务器URL端点的可访问性吗?,ios,swift,alamofire,Ios,Swift,Alamofire,我有一个用Swift编写的iPad应用程序,它通过RESTAPI与HTTP服务器通信,我需要向两种类型的事件添加侦听器:HTTP服务器应用程序关闭(502503504)和HTTP服务器应用程序再次打开(2xx、3xx、4xx) 现在我正在使用Alamofire的NetworkReachabilityManager,通过它我可以将侦听器设置为类似网络不可访问和网络可再次访问的事件。我甚至可以通过构造函数调用NetworkReachabilityManager(host:“www.ourserver
NetworkReachabilityManager
,通过它我可以将侦听器设置为类似网络不可访问和网络可再次访问的事件。我甚至可以通过构造函数调用NetworkReachabilityManager(host:“www.ourserver.com”)
将一个主机放到我们的服务器上,但它并没有真正实现我想要的功能。它只确定主机路由到的IP地址是否可访问(ping)
我需要更进一步,在服务器应用程序关闭/打开时进行管理,而不仅仅是在其主机关闭/打开时。为此,我创建了一个特殊的HTTP端点
http://www.ourserver.com/isalive
,可用于解决服务器应用程序是否关闭的问题。阿拉莫菲尔或其他图书馆有没有办法解决这个问题?理想情况下类似于HttpServerAppReachabilityManager(端点:http://www.ourserver.com/isalive“
与Alamofire的网络可达性管理器的功能相同,但它还可以管理该URL端点的可达性?通过这个小片段,您可以检查HTTP状态代码:
let defaultSession = URLSession(configuration: .default)
var dataTask: URLSessionDataTask?
dataTask =
defaultSession.dataTask(with: url) { [weak self] data, response, error in
defer {
self?.dataTask = nil
}
let httpResponsStatusCode = (response as? HTTPURLResponse)?.statusCode
// Now check the status code
}
dataTask?.resume()
let defaultSession = URLSession(configuration: .default)
var dataTask: URLSessionDataTask?
dataTask =
defaultSession.dataTask(with: url) { [weak self] data, response, error in
defer {
self?.dataTask = nil
}
let httpResponsStatusCode = (response as? HTTPURLResponse)?.statusCode
// Now check the status code
}
dataTask?.resume()