Thursday, April 4, 2013

objective-CでのHTTPリクエストの簡単なサンプル

手っ取り早く言ってしまうと、サーバーと通信するための簡単なプログラムです。
形式は決まっているのに、なかなか覚えないためメモ
* こちらは同期通信になっております。
* 非同期通信はこちら→xcodeで非同期通信


    NSString *query = [NSString stringWithFormat:@"id=%@&date=%@", user_id, date];
    NSData *queryData = [query dataUsingEncoding:NSUTF8StringEncoding];
    
    NSString *url = @"http://localhost/social-alarm/sample.php";
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init];
    [request setURL:[NSURL URLWithString:url]];
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:queryData];
    
    NSURLResponse *response;
    NSError *error;
    
    NSData *result = [NSURLConnection sendSynchronousRequest:request
                                           returningResponse:&response
                                                       error:&error];
   NSString *string = [[NSString alloc]initWithData:result encoding:NSUTF8StringEncoding];
   NSLog(@"%@", string);


こんなプログラムを実行するとurlに設定したurlにqueryを加えてサーバーへ送ることができます。
このやり方は同期通信といい、サーバーからのレスポンスをが帰ってくるまではなにも実行されないのが欠点です。僕も通信している間にくるくる回るやつが表示されるプログラムにしたい( ̄ω ̄;)

php側では普通に以下の方法でクエリーからのデータを取得できますよ(^^)/


$id = $_POST["id"];
$date = $_POST["date"];

参考 => http://libro.tuyano.com/index3?id=569004

No comments:

Post a Comment