我如何正确设置 AFNetworking Get 请求?

How I properly setup an AFNetworking Get Request?

我正在尝试从我的服务器检索一行代码并在我的 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?

我正在使用相同的 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
 }];

步骤如下:

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