我如何正确设置AFNetworking获取请求?

我试图从我的服务器检索一行代码,并在我的NSUserDefaults实现它。

现在,这就是我的appdelegate.m样子:

 NSDictionary* defaults = @{@"server_addr": @"http://156.92.15.802"}; [[NSUserDefaults standardUserDefaults] registerDefaults:defaults]; 

http://156.92.15.802 url是我需要从我的服务器获取的部分。

如果我的服务器上有一个名为Example.txt的文件,并且该文件中只有一行像http://156.92.15.802 ,那么我怎样才能使用AFNetworking检查服务器上的文件,然后将其添加到NSUserDefaults

这里的步骤是:

  1. 下载Example.txt文件
  2. 将下载的txt文件读入NSString*
  3. 将这个NSString*保存到NSUserDefaults

 - (void)requestTextFile { NSString *urlString = @"http://156.92.15.802/Example.txt"; NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration]; NSURL *URL = [NSURL URLWithString:urlString]; NSURLRequest *request = [NSURLRequest requestWithURL:URL]; NSURLSessionDownloadTask *downloadTask = [manager downloadTaskWithRequest:request progress:nil destination:^NSURL *(NSURL *targetPath, NSURLResponse *response) { NSURL *documentsDirectoryURL = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil]; return [documentsDirectoryURL URLByAppendingPathComponent:[response suggestedFilename]]; } completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error) { NSString* content = [NSString stringWithContentsOfFile:filePath.relativePath encoding:NSUTF8StringEncoding error:NULL]; NSLog(@"content = %@", content); //save this content to your NSUserDefaults //... }]; [downloadTask resume]; } 

我正在使用相同的POST到服务器上。 但是你确定你想和AFNetworking合作,我想NSURLConnection也可以。

 AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:stringURL]]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; manager.requestSerializer = [AFJSONRequestSerializer serializer]; [manager POST:stringURL parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { //do not put image inside parameters dictionary as I did, but append it! } success:^(NSURLSessionDataTask *task, id responseObject) { //here is place for code executed in success case } failure:^(NSURLSessionDataTask *task, NSError *error) { //here is place for code executed in error case }];