2

アプリのHTMLWebサイトにデータを送信するための最適なソリューションを探しています。私は次の形式で私のプログラムにいくつかの変数を取得しました:

1       var1
2       var2
3       var3
4       var4
5       var5

等々。それ以上のものはありません。これをウェブサイトに送信する最良の方法は何ですか?

4

1 に答える 1

0

次のコードは、メソッドを使用した簡単な例を示していPOSTます。(メソッドでデータを渡すPOST方法

この記事で説明されているように、次のコードスニペットを使用できます。

ここでは、POSTメソッドの使用方法について簡単に説明します。

1.実際のユーザー名とパスワードで投稿文字列を設定します。

NSString *post = [NSString stringWithFormat:@"&Username=%@&Password=%@",@"username",@"password"];

2.NSASCIIStringEncoding NSData形式で送信する必要のある投稿文字列を使用して、投稿文字列をエンコードします。

NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

データの実際の長さを送信する必要があります。ポスト文字列の長さを計算します。

NSString *postLength = [NSString stringWithFormat:@"%d",[postData length]];

3.HTTPメソッド、投稿文字列の長さのhttpヘッダーフィールドなどのすべてのプロパティを使用してUrlrequestを作成します。URLRequest オブジェクトを作成して初期化します。

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];

そのリクエストにデータを送信するURLを設定します。

[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.abcde.com/xyz/login.aspx"]]];

次に、 HTTPメソッド(POSTまたはGET )を設定します。この行をそのままコードに記述します。

[request setHTTPMethod:@"POST"];

HTTP投稿データの長さでヘッダーフィールドを設定します。

[request setValue:postLength forHTTPHeaderField:@"Content-Length"];

また、HTTPヘッダーフィールドのエンコード値を設定します。

[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Current-Type"];

HTTPBodypostDataを使用してurlrequestのを設定します。

[request setHTTPBody:postData];

4.次に、URLConnectionオブジェクトを作成します。URLRequestで初期化します。

NSURLConnection *conn = [[NSURLConnection alloc]initWithRequest:request delegate:self];

初期化されたURL接続を返し、URLリクエストのデータの読み込みを開始します。以下のif/elseステートメントURLを使用して、接続が正しく行われたかどうかを確認できます。

if(conn)
{
NSLog(@”Connection Successful”)
}
else
{
NSLog(@”Connection could not be made”);
}

5. HTTPリクエストからデータを受信するには、URLConnectionクラスリファレンスで提供されているデリゲートメソッドを使用できます。デリゲート方法は以下のとおりです。

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData*)data

上記のメソッドは、postメソッドを使用して取得したデータを受信するために使用されます。

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error

この方法では、サーバーに接続されていない場合にエラーレポートを受信するために使用できます。

- (void)connectionDidFinishLoading:(NSURLConnection *)connection

上記の方法は、接続が正常に行われた後にデータを処理するために使用されます。

メソッドについては、このドキュメントこのドキュメント も参照してください。 POST

そして、これがHTTPPostメソッドのソースコードの最良の例です。

于 2013-03-25T13:36:31.040 に答える