欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-08-12 14:50:58
http get 请求 复制代码 代码如下: // 组合一个搜索字符串     nsstring *urlstr = [nsstring...

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);
}