我正在通过观看网络课程来学习iOS开发,并且跟随老师开发演示应用程序。但是,当我使用AFNetworking调用老师给定的接口时,遇到了一个问题。最重要的是,该问题没有出现在教师给出的示例代码中,并且示例代码运行得很好。可以通过浏览器打开URL“ http://api.budejie.com/api/api_open.php?a=tag_recommend&action=sub&c=topic”
我确信我的代码与示例代码完全相同,并且我已经在Internet上搜索了但没有解决。
// 1.请求会话管理者
AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
AFJSONResponseSerializer *responce = [AFJSONResponseSerializer serializer];
responce.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript", @"text/html", nil];
mgr.responseSerializer = responce;
// 2.拼接请求参数
NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
parameters[@"a"] = @"tag_recommend";
parameters[@"c"] = @"topic";
parameters[@"action"] = @"sub";
// 3.发送请求
[mgr GET:@"http://api.budejie.com/api/api_open.php" parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, NSArray * _Nullable responseObject) {
NSLog(@"%@", responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"%@", error);
}];
错误:
Error Domain = NSCocoaErrorDomain代码= 3840“ JSON文本不是以数组或对象开头,并且未设置允许片段的选项。 UserInfo = {NSDebugDescription = JSON文本不是以数组或对象开头,并且未设置允许片段设置的选项。,NSUnderlyingError = 0x2813812c0 {Error Domain = com.alamofire.error.serialization.response代码= -1011“请求失败:禁止(403 )“ UserInfo = {NSLocalizedDescription =请求失败:禁止(403),NSErrorFailingURLKey = http://api.budejie.com/api/api_open.php?a=tag_recommend&action=sub&c=topic,com.alamofire.serialization.response.error.data = <3c68746d 6c3e0d0a 3c686561 643e3c74 69746c65 3e343033 20466f72 23e6e6e3e0e3e6e3e6e3e6e3e3e3e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e3e0e0e0e0e3e0e0e0e0e0e0e3e3c0e0e人20626763 6f6c6f72 3d227768 69746522 3e0d0a3c 63656e74 65723e3c 68313e34 30332046 6f726269 6464656e 3c2f6831 3e3c2f63 656e7465 723e0d0a 3c68723e 3c63656e 7465723e 6e67696e 783c2f63 656e7465 723e0d0a 3c2f626f 64793e0d 0a3c2f68 746d6c3e 0D0A>,com.alamofire.serialization.response.error.response = {URL:http://api.budejie.com/api/api_open.php?a=tag_recommend&action=sub&c=topic} {状态码:403,标题{ 连接=( “活着” ); “内容长度” =( 162 ); “内容类型” =( “文本/ html” ); 日期=( “星期四,2019年8月1日02:51:04 GMT” ); 服务器=( Nginx的 ); }}}}}