NSURLRequest* 変数 = [NSURLRequest requestWithURL:《NSURL*》];3.NSURLResponseとNSErrorの変数を用意しておきます。これは、必要に応じてオブジェクトが書き込まれるものなので、どちらもnilの状態のままでOKです。
NSData* 変数 = [NSURLConnection sendSynchronousRequest:《NSURLRequest*》同期通信なので、このメソッドを呼び出した時点で通信が開始されます。そしてすべての通信が終了すると、返値として「NSData」が返されます。このNSDataというクラスは、バイナリデータを扱うためのクラスなのです。つまり、受け取ったデータが、NSDataという形で返ってくるわけですね。
returningResponse:《NSURLResponse**》 error:《NSError**》];
NSString* 変数 = [[NSString alloc] initWithData:《NSData》 encoding:エンコード名];これで、通信して得られた結果がNSStringとして受け取れました! ここではHTMLページにアクセスしたので最終的にテキストにしていますが、もちろん、グラフィックなどのデータも受け取ることができます。この場合は、NSDataをファイルに出力するなどすれば、グラフィックファイルをダウンロードできます。このへんは、NSDataについてもうちょっと勉強する必要がありますが、とりあえず「通信出来ればどんなデータでもこのやり方で受け取れる」ということはわかったでしょう。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
#import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { @autoreleasepool { NSString* address = @"http://www.apple.com/"; NSURL* url = [NSURL URLWithString:address]; NSURLRequest* request = [NSURLRequest requestWithURL:url]; NSURLResponse* response = nil; NSError* error = nil; NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; NSString* result = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; NSLog(@"%@",result); } return 0; }
<< 前へ | 次へ >> |