HTTP通信(GET,POST)

みなさんこんばんは。
最近Webアプリケーションと連携したiOSアプリを開発中です。
今回はWebとの連携に必須となるHTTP通信の方法について紹介します。
ソースコードは以下の通り

◯GET

//URL文字列の作成
NSString *address = [NSString stringWithFormat:@"http://対象のURL?◯◯=%d&◯◯=%d", 対象の変数名, 対象の変数名];
//コンビニエンスコンストラクタってやつらしい
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:address]];
//レスポンス変数を空で宣言(必要に応じてオブジェクトが作成されるから)
NSURLResponse *response = nil;
//エラー変数を空で宣言(必要に応じてオブジェクトが作成されるから)
NSError *error = nil;
//NSURLConnectionのメソッドを呼び出して同期接続を開始
NSData *data = [NSURLConnection sendSynchronousRequest: request returningResponse:&response error:&error];

◯POST

//URL文字列の作成
NSString *address = [NSString stringWithFormat:@"対象のURL"];
//URLオブジェクトの作成
NSURL *testurl = [NSURL URLWithString:address];
//POSTの場合はNSMutableURLRequestで宣言する
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:testurl];
//POSTで送るデータを定義
NSString *post_data = [NSString stringWithFormat:@"user_id=%d&question_id=%d", 対象の変数名, 対象の変数名];
//メソッドをPOSTにする
request.HTTPMethod = @"POST";
//データをエンコーディング
request.HTTPBody = [post_data dataUsingEncoding:NSUTF8StringEncoding];
//レスポンス変数を空で宣言(必要に応じてオブジェクトが作成されるから)
NSURLResponse *response = nil;
//エラー変数を空で宣言(必要に応じてオブジェクトが作成されるから)
NSError *error = nil;
//NSURLConnectionのメソッドを呼び出して同期接続を開始
NSData *data = [NSURLConnection sendSynchronousRequest: request returningResponse:&response error:&error];

上記GETとPOSTの方法では変数に保存されている値を利用しています。
GETはURLに直接値を書けば使えますが、POSTでは値だけではなく別のコードを書き足す必要があるので注意ですね。

仕組みは詳しく分かりませんがとりあえず通信できるので自分はOKです^^;
自分はGETもしくはPOSTで送ってxmlやjsonで受け取り解析する方法をとっています。
xml,jsonのパースについては今後また記事にしたいと思いますので。
これでWebアプリケーションと連携できる!b

何か不備がありましたらコメント頂きたいと思います。
よろしくお願いします。