zoukankan      html  css  js  c++  java
  • iOS 开发笔记-NSURLConnection的使用

     通过NSURLConnection发送一个HTTP GET请求

    //send a GET request to server with some params
    -(void)httpGetWithParams{
        NSString *urlString = @"http://chaoyuan.sinaapp.com";
        urlString = [urlString stringByAppendingString:@"?p=1059"];
        NSURL *url = [NSURL URLWithString:urlString];
        NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
        [urlRequest setTimeoutInterval:30.0f];
        [urlRequest setHTTPMethod:@"GET"];
        NSOperationQueue *queue = [[NSOperationQueue alloc] init];
        [NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
            if ([data length] > 0 && connectionError == nil) {
                NSString *html = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
                NSLog(@"HTML = %@",html);
            }else if([data length] == 0 && connectionError == nil){
                NSLog(@"nothing was download.");
            }else if(connectionError != nil){
                NSLog(@"Error happened = %@",connectionError);
            }
        }];
    }

    通过NSURLConnection发送一个HTTP POST请求

    //send a POST request to a server with some params
    -(void)httpPostWithParams{
        NSString *urlAsString = @"http://chaoyuan.sinaapp.com";
        urlAsString = [urlAsString stringByAppendingString:@"?param1=First"];
        urlAsString = [urlAsString stringByAppendingString:@"¶m2=Second"];
        NSURL *url = [NSURL URLWithString:urlAsString];
        NSString *body = @"bodyParam1=BodyValue1&bodyParam2=BodyValue2";
        NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
        [urlRequest setTimeoutInterval:30.0f];
        [urlRequest setHTTPMethod:@"POST"];
        [urlRequest setHTTPBody:[body dataUsingEncoding:NSUTF8StringEncoding]];
        [urlRequest setValue:[NSString stringWithFormat:@"%lu", (unsigned long)[body length]] forHTTPHeaderField:@"Content-Length"];
        [urlRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
        NSOperationQueue *queue = [[NSOperationQueue alloc] init];
        [NSURLConnection
         sendAsynchronousRequest:urlRequest
         queue:queue completionHandler:^(NSURLResponse *response, NSData *data,
                                         NSError *error) {
             if ([data length] >0 &&
                 error == nil){
                 NSString *html = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"HTML = %@", html);
                 // 显示到UIWebView
                 //[self.bankWebView loadData:data MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:nil];
             }
             else if ([data length] == 0 &&
                      error == nil){
                 NSLog(@"Nothing was downloaded.");
             }
             else if (error != nil){
                 NSLog(@"Error happened = %@", error);
             }
         }];
    }
  • 相关阅读:
    Linux 上网络监控工具 ntopng 的安装
    Linux 运维工程师的十个基本技能点
    HashMap、Hashtable、ConcurrentHashMap的区别
    Spark会产生shuffle的算子
    Scala基础:闭包、柯里化、隐式转换和隐式参数
    Scala基础:模式匹配和样例类
    Scala基础:面向对象之trait
    Scala基础:面向对象之对象和继承
    Scala基础:类和构造器
    Scala基础:数组(Array)、映射(Map)、元组(Tuple)、集合(List)
  • 原文地址:https://www.cnblogs.com/jys509/p/4812714.html
Copyright © 2011-2022 走看看