如何避免HTTP状态码:503

时间:2017-09-18 15:44:46

标签: ios swift akka-http

我试图在swift和服务器端使用的AKKA框架中访问其余的api调用URLSession。 我经常收到503错误。我搜索了很多东西,大部分结果都说它是服务器方面的问题。 我已经在postman和JMeter测试并发测试不能遇到任何问题(错误代码503)。我希望503因为严重的问题而得不到。

let headers = ["content-type": "application/json",
 "access-token": "3ccecc61-1fc5-4f54-88d5",
]
let parameters = [
  "s3url": "https://s3-us-west-1.amazonaws.com/image.png",
  "gender": 1,
  "userid": 22,
  "username": "sample"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://ec2.compute-1.amazonaws.com/generate-image")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

ios回复

dataTaskWithRequest HTTP status code: 503
dataTaskWithRequest HTTP response code: <NSHTTPURLResponse: 0x17043f160> { URL: http://ec2.amazonaws.com:9000/image } { status code: 503, headers {
    "Content-Length" = 105;
    "Content-Type" = "text/plain; charset=UTF-8";
    Date = "Mon, 18 Sep 2017 15:01:41 GMT";
    Server = "akka-http/10.0.0";
} }

1 个答案:

答案 0 :(得分:0)

它可能是DNS问题。 503服务不可用503 DESC因此您可以检查一些内容。

  1. 您可以在AWS中使用该计算机,并确保代码在其上运行。如果你可以远程进入机器并在本地点击路线(http://localhost/genreate-image),那么你可以非常肯定这个问题与DNS有关。

  2. 如果第一个选项通过,那么我会查看AWS中的安全组设置,以查看该端口是否允许流量。

  3. 最后我会检查DNS,你要点击的网址是“http://ec2.compute-1.amazonaws.com”你可以验证你是否ping或telnet到该机器上的http端口。这将确保DNS为您提供该名称的正确地址。