我正在使用Alamofire通过获取请求获取我的所有wordpress帖子,我使用以下代码获取帖子的类别页数以帮助我使用分页:
func getNumOfPagesInCat (url: String, completion: @escaping (_ error: Error?, _ numOfPages: Int)-> Void) {
Alamofire.request(url, method: .get, parameters: nil, encoding: URLEncoding.default, headers: nil).responseJSON { (response) in
switch response.result {
case .failure(let error):
completion(error, 0)
case .success(_):
if let numOfPagesString = response.response?.allHeaderFields["X-WP-TotalPages"] as? String {
print("the num of pages: \(numOfPagesString)")
let numOfPages = Int(numOfPagesString) ?? 0
completion(nil, numOfPages)
}else {
print("no value available") // this is what i get
completion(nil, 0)
}
}
}
}
url示例:http://mywebsite.com/wp-json/wp/v2/posts?categories=1
代码一直成功运行,直到我转向ssl安全服务器,我可以获得所有帖子,但我无法获得标题“X-WP-TotalPages”的价值
请帮忙
答案 0 :(得分:0)
Apple's Developer Documentation提到NSDictionary对象中返回的数据是' raw'数据,
包含作为服务器响应的一部分接收的所有HTTP标头字段的字典。通过检查此字典,客户端可以看到HTTP服务器返回的“原始”标头信息。
我不确定wordpress用于返回标头数据的格式,但您首先需要将其解析为本机NSObject,例如NSString或NSNumber,然后才能使用它。