iOS应用中发送HTTP的get请求以及HTTP异步请求的方法

前端技术 2023/09/10 IOS

Http get 请求

复制代码 代码如下:

// 组合一个搜索字符串
    NSString *urlStr = [NSString stringWithFormat:@\"http://www.baidu.com/s?wd=%@\", @\"php\"];
    // 字符串转化为URL
    NSURL *url = [NSURL URLWithString:urlStr];
    
//    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
//    [request setURL:url];
//    [request setHTTPMethod:@\"POST\"];
//    [request setTimeoutInterval:60];
//    [request setHTTPBody:_data];
//    [request setValue:@\"ttt\" forHTTPHeaderField:@\"cookies\"];
   
    // url转化为一个请求
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    // 状态请求
    NSURLResponse *response;
    // 链接一个请求
    NSData *resultData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
    // 返回数据转为字符串
    NSData *dataString = [[NSString alloc] initWithData:resultData encoding:NSUTF8StringEncoding];
    NSLog(@\"%@\", dataString);
// 解析json吧

Http异步请求

复制代码 代码如下:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    _data = [[NSMutableData alloc] init];
    
    // 组合一个搜索字符串
    NSString *urlStr = [NSString stringWithFormat:@\"http://www.baidu.com/s?wd=%@\", @\"php\"];
    NSURL *url = [NSURL URLWithString:urlStr];
    
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    
    //发起请求,定义代理
    [NSURLConnection connectionWithRequest:request delegate:self];
    
}
 
// 分批返回数据
- (void)connection:(NSURLConnection *) connection didReceiveData:(NSData *)data {
    [_data appendData:data];
    NSLog(@\"%@\", _data);
}
 
// 数据完全返回完毕
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    NSString *dataString =  [[NSString alloc] initWithData:_data encoding:NSUTF8StringEncoding];
    NSLog(@\"%@\", dataString);
}

本文地址:https://www.stayed.cn/item/26663

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。