1

Rest API サービスにデータを送信する iPhone アプリケーションを作成したいと考えています。データが geoX#35#geoY#65 として定義された文字列である場合、どの NSS メソッドを使用する必要があります。NSString と NSMutablerequest を使用してリクエストを作成し、文字列を定義することを考えていましたが、これは機能しません。誰でも助けることができますか?

前もって感謝します。

4

1 に答える 1

3

接続データは特殊文字を使用しており、NSURLConnection の GET メソッドでこれを行おうとすると. 接続エラーが表示されます。このためには、次のような POST メソッドを使用する必要があります。

NSData *body = nil;
NSString *contentType = @"text/html; charset=utf-8";
NSURL *finalURL = @"YOUR URL WITH the ?input=";
NSString *yourString = @"geoX#35#geoY#65"; 
contentType = @"application/x-www-form-urlencoded; charset=utf-8";
body = [[NSString stringWithFormat:@"%@", yourString] dataUsingEncoding:NSUTF8StringEncoding];
if (nil==finalURL) {
    finalURL = url;
}

NSMutableDictionary* headers = [[[NSMutableDictionary alloc] init] autorelease];
[headers setValue:contentType forKey:@"Content-Type"];
[headers setValue:mimeType forKey:@"Accept"];
[headers setValue:@"no-cache" forKey:@"Cache-Control"];
[headers setValue:@"no-cache" forKey:@"Pragma"];
[headers setValue:@"close" forKey:@"Connection"];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:finalURL
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:60.0];
[request setHTTPMethod:@"POST"];

[request setAllHTTPHeaderFields:headers];

[request setHTTPBody:body];

self.conn = [NSURLConnection connectionWithRequest:request delegate:self];
于 2012-09-28T14:44:35.020 に答える