NSURLConnection の User-Agent を変更する : Objective-C プログラミング
PROGRAM
NSURLConnection の User-Agent を変更する
Objective-C では、NSURLConnection に NSURLRequest を渡して、指定した URL のデータを取得できるようになっています。
そして HTTP へアクセスするとき、アクセス元は自分の情報を "User-Agent" ヘッダーを使って通知します。
例えば Internet Explorer の場合は "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" などのようになりますし、NSURLConnection の場合には、既定では "EzPCAdjustTools/12 CFNetwork/548.1.4 Darwin/11.0.0" といった感じのものになっています。
この User-Agent ヘッダーは、NSURLConnection では、好みの名前に変更できます。
そのためには、NSURLConnection に渡す URL の情報を、NSURLRequest ではなく NSMutableURLRequest クラスで作成して、それの HTTP ヘッダーとして、好きな名前を値にした "User-Agent" ヘッダーを追加します。
// URL 情報は NSMutableURLRequest で用意します。
NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url];
// User-Agent ヘッダーを好きなものに変更します。
[request setValue:@"Mozilla/5.0 (compatible; EZ-NET PCAdjustTools 1.0)" forHTTPHeaderField:@"User-Agent"];
このようにして NSMutableURLRequest に必要な URL 情報を揃えたら、後はこれを NSURLConnection に渡してあげれば、先ほど指定したものを User-Agent の値として、接続先に送るようになります。
[ もどる ]