2010-12-13 7 views
1

iphone sdkの文字列(つまり、単語)をウェブサーバーのURLに投稿するにはどうすればよいですか?iphone sdkのウェブサーバーのURLに文字列を投稿するには?

いくつかのサンプルコードまたはチュートリアルは高く評価されます。

ありがとうございます。

NSMutableString *httpBodyString; 
NSURL *url; 
NSMutableString *urlString; 

httpBodyString=[[NSMutableString alloc] initWithString:@"Name=The Big Bopper&Subject=Hello Baby&MsgBody=...You knooow what I like...Chantilly lace..."]; 
urlString=[[NSMutableString alloc] initWithString:@"http://www.somedomain.com/contactform.php"]; 

url=[[NSURL alloc] initWithString:urlString]; 
[urlString release]; 

NSMutableURLRequest *urlRequest=[NSMutableURLRequest requestWithURL:url]; 
[url release]; 

[urlRequest setHTTPMethod:@"POST"]; 
[urlRequest setHTTPBody:[httpBodyString dataUsingEncoding:NSISOLatin1StringEncoding]]; 
[httpBodyString release]; 

NSURLConnection *connectionResponse = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self]; 

if (!connectionResponse) 
{ 
    NSLog(@"Failed to submit request"); 
} 
else 
{ 
    NSLog(@"--------- Request submitted ---------"); 
    NSLog(@"connection: %@ method: %@, encoded body: %@, body: %a", connectionResponse, [urlRequest HTTPMethod], [urlRequest HTTPBody], httpBodyString); 
    NSLog(@"New connection retain count: %d", [connectionResponse retainCount]); 
    responseData=[[NSMutableData data] retain]; 
    NSLog(@"response", responseData); 
} 

出典::私はそれをテストhaventはが、これは、あなたを助けるかもしれ

答えて

3

あなたはそれらの一つは、非常に多くの方法でWebサービスに文字列を投稿することができ、残りのプロトコルを使用して です。

それは、2つのサブタイプ、HTTP GET、HTTP POSTを持っています。 Http Getは簡単です。

あなたは、属性に値を追加することができますし、サービスを直接呼び出すことができます。 次のコードを確認してください。

NSString *url = @"http://123.456.789.0?action=get_movies"; 

ここでは、get_movies文字列をサーバーにaction属性に渡しています。 を入力し、サーバーに要求するコードに従ってください。

NSURL *reqUrl = [[NSURL alloc] initWithString:url]; 
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:reqUrl]; 
NSError *error; 
NSURLResponse *response; 
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
NSStringEncoding responseEncoding = NSUTF8StringEncoding; 
if ([response textEncodingName]) { 
CFStringEncoding cfStringEncoding = CFStringConvertIANACharSetNameToEncoding((CFStringRef)[response textEncodingName]); 
if (cfStringEncoding != kCFStringEncodingInvalidId) { 
    responseEncoding = CFStringConvertEncodingToNSStringEncoding(cfStringEncoding); 
    } 
} 
[reqUrl release]; 
NSString *dataString = [[NSString alloc] initWithData:data encoding:responseEncoding]; 

dataStringはサーバーからのresponseStringです。あなたはそれを使うことができます。

ありがとう、

サティヤ。

+0

デバイスがインターネットに接続されているかどうかを確認する方法は? – Piscean

関連する問題