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);
             }
         }];
    }
  • 相关阅读:
    整理公共基础库子系统和系统属性组件
    鸿蒙轻内核M核源码分析系列六 任务及任务调度(1)任务栈
    HarmonyOS三方件开发指南(19)-BGABadgeView徽章组件
    鸿蒙的DFX子系统
    安卓to鸿蒙系列:ButterKnife(一)
    基于Neptune开发板的键盘蓝牙模块DIY指南
    徒手撸一个Spring Boot中的starter
    这三道最基础的java面试题,你真的答得上来吗?
    奇葩java迭代器面试题,还真有很多人踩坑
    15道类和对象面试题,快看看自己会几道
  • 原文地址:https://www.cnblogs.com/jys509/p/4812714.html
Copyright © 2011-2022 走看看