使用异步Post在新浪发微博

来源:互联网 发布:数据监控的技术方案 编辑:程序博客网 时间:2024/05/16 15:53


</pre><pre name="code" class="objc">#import "ViewController.h"@interface ViewController ()<NSURLConnectionDataDelegate>{    NSMutableData *mPostData;}@end@implementation ViewController- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view, typically from a nib.}- (IBAction)asynchronousPost:(id)sender {    //获取url    NSString *urlString = @"https://api.weibo.com/2/statuses/update.json";    //编码    urlString = [urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];    //转换成NSURL    NSURL *url = [NSURL URLWithString:urlString];    //oc中用  NSMutableURLRequest 进行Post请求  NSMutableURLRequest *mAsynRequest = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];    //获取参数    NSString *bobyString = @"status=Rock%20and%20roll&access_token=2.00bUKyMD0Spw_tebfe20df130tHaM_";    //编码    NSData *data = [bobyString dataUsingEncoding:4];    //方法体设置    [mAsynRequest setHTTPMethod:@"POST"];    [mAsynRequest setHTTPBody:data];    //连接  NSConnection *connectionPost = [NSURLConnection connectionWithRequest:mAsynRequest delegate:self];}#pragma mark-----------------------------------////服务器开始响应,准备向客户发送数据-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{    mPostData  = [NSMutableData data];}//从服务器接收数据,并且此方法会执行很多次-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{    [mPostData appendData:data];}//接收数据完成-(void)connectionDidFinishLoading:(NSURLConnection *)connection{    //Json数据格式解析,利用系统提供的API进行Json数据解析  NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:mPostData options:NSJSONReadingAllowFragments error:nil];   // NSLog(@"%@",dictionary);}- (void)didReceiveMemoryWarning {    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}@end




1 0