服务器响应307,ios - 调用307重定向服务器时的401响应 - 堆栈内存溢出

我已经构建了一个iOS应用程序来调用服务器,该服务器仅接受来自列入白名单的IP的呼叫(客户端的安全要求)。 他们现在设置了307个临时重定向。 我已经将原始的根URL更改为新的重定向地址,现在出现401-未经授权的访问错误。 除Urls外,代码中的其他所有内容均未更改。 我已经使用Postman进行了测试,并且这些呼叫可以使用重定向地址。 有谁知道是什么引起了这个问题? 我怀疑HTTP标头已损坏,并且承载令牌在过程中的某个位置丢失了。

这是HTTP响应:

{ URL: https://"API URL HERE" } { Status Code: 401, Headers {

"Access-Control-Allow-Origin" = (

"*"

);

"Content-Length" = (

0

);

Date = (

"Wed, 06 Mar 2019 13:50:30 GMT"

);

Server = (

""

);

"Www-Authenticate" = (

Bearer

);

"X-XSS-Protection" = (

"1; mode=block"

);

}}

这是API调用程序函数:

func callAPI(jsonData: Data, childUrl: String, completionHandler: @escaping (_ success: Bool, _ data: Data, _ response: HTTPURLResponse) -> Void) {

let access_token = cache.access_token

let networkHeaders = [ "Content-Type": "application/json", "Authorization": access_token, "cache-control": "no-cache" ]

print(access_token)

let dataResponse = Data()

let urlResponse = HTTPURLResponse()

guard let url = URL(string: config.rootAPIUrl + childUrl) else { return }

var request = URLRequest(url: url, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0)

request.httpMethod = "POST"

request.httpBody = jsonData

request.allHTTPHeaderFields = networkHeaders

let session = URLSession.shared

session.dataTask(with: request) { data, response, error in

if error != nil {

DispatchQueue.main.async {

completionHandler(false, dataResponse, urlResponse)

}

}

if let response = response as? HTTPURLResponse, let data = data {

DispatchQueue.main.async {

completionHandler(true, data, response)

}

}

}.resume()

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值