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;
}
| << 前へ | 次へ >> |