そろそろiPhone5S発表されますかねぇ。
発売が楽しみです。
今回はUIWebViewのリクエストヘッダーをどうこうする方法をメモ
User-Agentを書き換える
NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"Custom User Agent", @"UserAgent", nil]; [[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
の2行でデフォルトのUser-Agentが上書きされます。
ただ、アプリ内全てのUIWebViewが書き換わってっしまいますので、
一部の箇所でのみUser-Agentを変更したいなんて場合には使えません。
カスタムヘッダーを付ける
HTTPのリクエストヘッダーは何もUser-Agentだけではありません。
なので、独自にヘッダーを付けて、サーバ側でUAを見て判断してるなんて時には、
独自で付けてあげれば良いのです。
UIWebViewを拡張したクラスを作成し、
loadRequestのメソッドを上書きします。
- (void)loadRequest:(NSURLRequest *)request { NSMutableURLRequest *mRequest = (NSMutableURLRequest *)[request mutableCopy]; [mRequest setValue:@"Custom Value" forHTTPHeaderField:@"Custom Header"]; [super loadRequest:mRequest]; }
これでカスタムヘッダーが追加出来ました。
0 件のコメント:
コメントを投稿