年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2425|回复: 1

iOS开发Get请求的基本步骤与方法

[复制链接]
  • TA的每日心情

    2024-10-15 10:05
  • 签到天数: 372 天

    [LV.9]以坛为家II

    发表于 2014-11-6 11:42:22 | 显示全部楼层 |阅读模式
    一、基本步骤
    1、创建URL字符串,即网址
    2、创建URL,即创建一个需要请求的资源
    3、创建一个请求
    4、创建一个连接
    5、发起连接
    6、接收数据

    二、代码示例:
    1、实现网络请求
    1.     // 1、创建URL字符串,即网址
    2.     NSString *string = @"www.baidu.com";
    3.     // 2、创建URL,即创建一个需要请求的资源
    4.     NSURL *url = [NSURL URLWithString:string];
    5.     // 3、创建一个请求
    6.     NSURLRequest *request = [NSURLRequest requestWithURL:url];
    7.     // 4、创建一个连接
    8.     NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
    9.     // 5、发起连接
    10.     [connection start];
    复制代码
    2、实现代理方法接收数据,遵循<NSURLConnectionDataDelegate>协议,实现以下几个主体方法
    1. #pragma mark NSURLConnectionDataDelegate方法,接收响应
    2. - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
    3. {
    4.     NSLog(@"%@", response);
    5. }
    6. #pragma mark NSURLConnectionDataDelegate方法,错误提示
    7. - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
    8. {
    9.     NSLog(@"%@", error.localizedDescription);
    10. }
    11. #pragma mark NSURLConnectionDataDelegate方法,接收数据
    12. - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
    13. {
    14.     NSLog(@"%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
    15. }
    复制代码
    附:Post请求方法参考:http://www.yusian.com/bbs/thread-8014-1-1.html

  • TA的每日心情

    2024-10-15 10:05
  • 签到天数: 372 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-11-6 11:51:44 | 显示全部楼层
    如果string中包含中文,则需要对string进行百分号转码:
    1. NSString *string = @"http://www.yusian.com?user=张三&password=123456";
    2. NSURL *url = [NSURL URLWithString:[string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    复制代码
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-12-22 16:43 , Processed in 0.048768 second(s), 23 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表