iphone开发-http

如果只是简单的下载上传,我觉得这些就够了。

用到的类:NSURLRequest          NSURL            NSURLConnection

举简单的例子

【1】http  GET请求

参数url为目的请求URL地址:http://.......

注意url是经过URL编码之后的

- (NSString*) sendXMLRequest: (NSString*)url;
{
 [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
    //NOTE with this way, cookie is send automatically, so it can be ignored

 //创建NSURLRequest
 NSString* urlEncoding = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
 NSURLRequest* urlrequest = [NSURLRequest requestWithURL:[NSURL URLWithString:urlEncoding] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:TIME_OUT];
 [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

  //通过NSURLConnection 发送NSURLRequest,这里是同步的,因此会又等待的过程,TIME_OUT为超时时间。

  //error可以获取失败的原因。
    NSError* error = nil;
    NSData* data = [NSURLConnection sendSynchronousRequest:urlrequest returningResponse:NULL error:&error];
    if(!error){
        NSString *stringData = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
        return stringData;
    }
    NSString* errorString = [NSString stringWithFormat:@"<error string=\"%@\"/>", [error localizedDescription]];
    return errorString;
}

【2】http POST请求

url是请求的目的URL地址,body是要发送的数据

- (NSString*) postURLRequest: (NSString*)url body:(NSString*)body
{
    NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString: url] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30];
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:[body dataUsingEncoding:NSUTF8StringEncoding]];
    
    NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:NULL error:NULL];
   
    NSString *stringData = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
    return stringData;
}

 

 

转自:  http://yuxiang13115204.blog.163.com/blog/static/2680202220092148583437/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值