zoukankan      html  css  js  c++  java
  • NSURLConnection下载

    @interface AppDelegate () <NSURLConnectionDataDelegate> {
        NSMutableData *mData;
    }

    @end

    @implementation AppDelegate


    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        
        NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
        NSURLRequest *req = [NSURLRequest requestWithURL:url];
     
        // 第二个参数指定的委托用于处理服务器的响应
        // 当服务器返回一个响应、发送数据以及完成响应时会回调委托中的方法
        NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
        
        // 执行start方法时才真正连接服务器
        [conn start];
        
        return YES;
    }

    #pragma mark NSURLConnectionDataDelegate回调方法
    // 收到服务器的响应
    - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
        
        if (!mData) {
            mData = [NSMutableData data];
        }
        else {
            mData.length = 0;
        }
        
    }

    // 收到服务器发送的数据(该方法可能被调用很多次)
    - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
        // 将收到的数据拼接起来
        [mData appendData:data];
    }

    // 服务器响应完成(结束从服务器加载数据)
    - (void)connectionDidFinishLoading:(NSURLConnection *)connection {
        NSString *str = [[NSString alloc] initWithData:mData encoding:NSUTF8StringEncoding];
        
        // 获得应用程序的沙箱路径
        NSString *homeDir = NSHomeDirectory();
        NSLog(@"%@", homeDir);
        
        NSString *filename = [homeDir stringByAppendingPathComponent:@"Documents/index.html"];
        
        [str writeToFile:filename atomically:NO encoding:NSUTF8StringEncoding error:nil];
        
        NSLog(@"文件已保存!!!");
    }

  • 相关阅读:
    switch循环所支持的数据类型
    java里面main方法中的String[]args
    java基本数据类型
    Jquery自定义插件
    Jquery插件(常用的插件库)
    【JAVA SE基础篇】43.Map接口和Set接口的常用方法
    【JAVA SE基础篇】42.手工实现ArrayList和LinkedList
    【JAVA SE基础篇】41.Collection、List方法和ArrayList、LinkedList、Vector底层实现
    【JAVA SE基础篇】40.容器(集合)和泛型的介绍
    【JAVA SE基础篇】39.编译时异常
  • 原文地址:https://www.cnblogs.com/buakaw/p/5211322.html
Copyright © 2011-2022 走看看