我试图执行一个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:
解决办法将下面的代码替换成

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];