为什么同一网址在同一代码中的运行方式不同?

时间:2019-08-01 02:57:49

标签: objective-c afnetworking http-status-code-403

我正在通过观看网络课程来学习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的       );   }}}}}

0 个答案:

没有答案