NSURLConnection (同期)

NSURLConnectionを使ってURLからデータを同期的に取得する方法です。 簡単に作る場合には同期的な手法を使うのが楽です。

しかし、同期的な手法はAPIがブロックしてしまったり、大きなデータ取得には適さないなどの問題点があり、非同期で取得する方法の方が一般的になると思われるのでご注意下さい。

サンプルコード

URLを指定した同期的なデータ取得サンプルを以下に示します。


#import <Cocoa/Cocoa.h>

int
main()
{
  id pool = [[NSAutoreleasePool alloc] init];

  // URL部分を変更して下さい
  NSURL *url = [NSURL URLWithString:@"http://www.example.com/"];

  // URL Request
  NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];

  // 結果を格納するオブジェクト
  NSURLResponse *resp;

  // エラーを格納するオブジェクト
  NSError *err;

  // 同期的な呼び出し。sendSynchronousRequestを使っているのが特徴です
  NSData *result = [NSURLConnection sendSynchronousRequest:req
                      returningResponse:&resp
                      error:&err];

  // 結果をコンソールへ出力。writeはCのシステムコールです
  write(1, [result bytes], [result length]);

  [pool release];
}



あきみち

「インターネットのカタチ - もろさが織り成す粘り強い世界 -」関連資料

インターネットのカタチ もろさが織り成す粘り強い世界

Linuxネットワークプログラミング

Mac OS Xネットワーク
プログラミング

NS系API

CF系API

POSIXソケットAPI

カスタム検索


アルファブロガー・アワード2011受賞ブログ


外部サイト

プレコ王国
ディスカス魂
金魚タイムズ
YouTubeチャネル
Twitter
Facebook
mixi(ほぼ未使用)

フィードメーター - Geekなぺーじ
Copyright (C) Geekなページ.
All rights reserved. 無断転載や無断コピーなど、私的利用の範囲を逸脱した利用はおやめ下さい.