我正在从 iOS 应用程序切换ASIHTTPRequest
到AFNetworking
。
RF2616 (HTTP/1.1)通过“状态代码”和“原因短语”的组合定义了一个“状态行”。有时服务器会在这个“原因短语”中添加一些特定信息,我发现 ASIHTTPRequest 允许我通过以下方式轻松访问它相当方便
ASIHTTPRequest *request = ...;
NSString *reason = request.responseStatusMessage;
我的问题是我找不到任何方法来做到这一点AFHTTPRequestOperation
NSMutableURLRequest *request = ...;
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
在操作的完成/失败块中,我可以通过执行以下操作获取状态代码:
int statusCode = [operation.response statusCode];
但我找不到从哪里得到“原因短语”。
StackOverflow 上的一些答案表明它将位于其中一个条目中,[operation.response allHeaderFields]
但事实并非如此。
对这个问题的回答 << Can I access "Reason Phrase" from the HTTP Status-Line in NSHTTPURLResponse >> 建议更改服务器的行为方式,但这并不总是可用的选项。
任何想法?