0

私はXcodeの初心者です。マイクロコントローラーMICROCHIPで設計した組み込みWebサーバーからデータを取得および送信するアプリケーションを実行する必要があります。これで、Web サーバーから情報を取得できるようになりました (Web サーバーには、/status.xmlすべての動的変数を含むファイルがあります)

今、私はボタンをクリックすることができません。ボタンをクリックする HTML コードは次のとおりです。

onmousedown="newAJAXCommand('buttons.cgi?btn=1')"

私のウェブサーバーには file がありますbuttons.cgi

私のターゲットは、彼がこのアクションを実行する Xcode のボタンを設計しています

NSMutableURLRequestクラス and SetHTTPMethod:@"GET"orを使用しようとしまし@"POST"たが、このコードは機能しません

    NSString *post = @"btn=1";
    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES ];
    NSString *Get_lenght = [NSString stringWithFormat:@"%d",[postData length]];
    NSURL *serviceURL = [NSURL URLWithString:@"http://mywebserver.com/buttons.cgi?"];
    NSMutableURLRequest *serviceRequest = [NSMutableURLRequest requestWithURL:serviceURL];
    [serviceRequest setValue:Get_lenght forHTTPHeaderField:@"Content-type"];
    [serviceRequest setHTTPMethod:@"POST"];
    [serviceRequest setHTTPBody:postData];
4

1 に答える 1

1

コードには複数のエラーがあります:

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

なぜ UTF-8 を使わないのですか?

NSString *Get_lenght = [NSString stringWithFormat:@"%d",[postData length]];
[serviceRequest setValue:Get_lenght forHTTPHeaderField:@"Content-type"];

Content-Type整数として設定することはできません。

最後に、あなたはNSMutableURLRequest. リクエストを送信するには、次を使用します。

NSString *response;
NSError *error;
[NSURLConnection sendSynchronousRequest:serviceRequest returningResponse:&response error:&error];

必要に応じて、どこresponseに応答データが含まれますか。エラーが発生したerror場合、リクエストとレスポンス中にエラーが含まれます。

于 2013-04-03T09:45:42.463 に答える