0

http GETはブラウザによって制限される可能性があることは知っていますが、iPhoneを使用している場合はどうなりますか?このようなことをした場合の制限は何ですか?

 NSString *urlString = [NSString stringWithFormat:@"http://www.hdsjskdjas.com/urlPop.php?vID=%@&pop=%d&tId=%@",videoId,pushPull,[objectSaver openWithKey:@"userId"]];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]];
NSURLConnection *connect = [[NSURLConnection alloc] initWithRequest:request delegate:self];

if(connect) {
  //success;
} else {
    //failure;
}

このメソッドを使用してサーバーに情報を送信すると、URLの文字数の制限はどうなりますか?

24,000文字以上をサーバーに送信できるようにしたい...

これが達成できない場合、別のオプションは何でしょうか?

4

1 に答える 1

2

大量のデータを送信するには、GETではなくPOSTを使用する必要があります。使用方法の例を次に示します。

NSArray *keys = [NSArray arrayWithObjects:@"Content-Type", @"Accept", @"Authorization", nil]; 
NSArray *objects = [NSArray arrayWithObjects:@"application/json", @"application/json", mytoken, nil];
NSDictionary *headerFieldsDict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
NSData *bodyData = [body dataUsingEncoding: NSUTF8StringEncoding];

NSMutableURLRequest *theRequest = [[[NSMutableURLRequest alloc] init] autorelease];
[theRequest setURL:[NSURL URLWithString:url]];
[theRequest setHTTPMethod:@"POST"];
[theRequest setTimeoutInterval:timeout];
[theRequest setAllHTTPHeaderFields:headerFieldsDict];
[theRequest setHTTPBody:bodyData]; 

NSLog(@"userSendURL URL: %@ \n",url);

self.conn = [[[NSURLConnection alloc] initWithRequest:theRequest delegate:self] autorelease];

この場合、本体は単純なNSStringオブジェクトですが、NSDataオブジェクトに挿入できるものであれば何でもかまいません。

于 2012-07-31T12:45:35.243 に答える