リモート サーバーに GET http 要求を送信する必要があるというシナリオがあります。私は NSURLConnection を使用し、HTTPScoop でリクエストをインターセプトしました。
URL の形式は次のようになります。
http://domain.com?key=username##somehash&url=someotherurl.com
私はこのようにやっています:
NSString *urlString = [[NSString alloc]init];
urlString = @"http://domain.com?key=username##somehash&url=someotherurl.com";
NSString *encodedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString: [NSString stringWithFormat:encodedString]];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[request setHTTPMethod:@"GET"];
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
この場合、# 記号をエスケープしませんでした。httpscoop に表示されるリクエストは次のとおりです。
http://domain.com?key=username223somehash&url=someotherurl.com
シャープ記号を %23 にエスケープすると、httpscoop で次のようになります。
http://domain.com?key=username22523somehash&url=someotherurl.com
さまざまな組み合わせを試しましたが、常にシャープ記号に問題があります。これにはウォークアラウンドがありますか?ありがとう!