AFN3.0 PATCH请求报错Error Domain=NSURLErrorDomain Code=-1012 "(null)"


我试图执行一个HTTP PATCH请求,但我不断收到错误域= nsurlerrordomain代码= 1012错误。我的代码:
//封装的请求方法
+ (void)requestMethod:(NSString *)method urlStr:(NSString *)urlStr token:(NSString *)token parma:(NSDictionary *)param success:(void (^)(id))success failure:(void (^)(NSError *))failure {

NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] requestWithMethod:method URLString:urlStr parameters:param error:nil];
    [request setValue:token forHTTPHeaderField:@"Authorization"];
    NSOperationQueue *queue = [[NSOperationQueue alloc] init];
    [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

        if (!connectionError) {

            NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
            success(dict);
        } else {

            failure(connectionError);
        }
    }];

}

//上传
NSString *dicStr = [self setDictionaryToString:dict];
NSString *urlStr = [NSString stringWithFormat:@"http://123.56.77.171/app/user/user/modifyphone/oldcaptcha?%@", dicStr];
NSString *newStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSString *value = [NSString stringWithFormat:@"%@", [defaults objectForKey:@"userToken"]];

[HttpHelper requestMethod:@"PATCH" urlStr:newStr token:value parma:nil success:^(id json) {

        NSLog(@"%@", json);

    } failure:^(NSError *error) {

        NSLog(@"%@", error);
 }];

将请求的参数由字典转化成字符串拼接到网址字符串中


结果/日志,我得到的是:响应代码
Error Domain=NSURLErrorDomain Code=-1012 "(null)" UserInfo={NSErrorFailingURLStringKey=http://123.56.77.171/app/user/user/modifyphone/oldcaptcha, NSUnderlyingError=0x7fd768c882e0 {Error Domain=kCFErrorDomainCFNetwork Code=-1012 "(null)" UserInfo={_kCFURLErrorAuthFailedResponseKey={url = http://123.56.77.171/app/user/user/modifyphone/oldcaptcha}}}, NSErrorFailingURLKey=http://123.56.77.171/app/user/user/modifyphone/oldcaptcha}

解决办法将下面的代码替换成

AFN3.0 PATCH请求报错Error Domain=NSURLErrorDomain Code=-1012

NSString *dicStr = [self setDictionaryToString:dict];

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSString *urlStr = [NSString stringWithFormat:@"http://123.56.77.171/app/user/user/modifyphone/oldcaptcha?%@", dicStr];

NSString *newStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSString *value = [NSString stringWithFormat:@"%@", [defaults objectForKey:@"userToken"]];

NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] requestWithMethod:method URLString:urlStr parameters:param error:nil];

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSString *value = [NSString stringWithFormat:@"%@", [defaults objectForKey:@"userToken"]];


**AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
//此行代码是重点
[manager.securityPolicy setAllowInvalidCertificates:YES];**

[request setValue:value forHTTPHeaderField:@"Authorization"];

NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithStreamedRequest:request progress:^(NSProgress *uploadProgress) {


    } completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {

            if (!error) {
                success(responseObject);
            } else {
                failure(error);
            }
    }];
    [uploadTask resume];

你可能感兴趣的:(网络请求)