2012-02-27 2 views
0

サーバーにPOSTリクエストを送信しようとしていますが、すべて正常に動作しているようですが、すべてのHTTPBodyがサーバー側のリクエストのパラメータで終了しています。NSURLRequest setHTTPBodyがサーバーのパラメータで終了する

サーバー上に現在無視しているAuthenticationChallengeを生成する自己署名証明書があり、これも正常に動作します。

しかし、上記のように、postBodyDataはサーバー上の間違った場所にあります。私が使用しているコードは以下に示されており、NSURLRequestの下にあるApple iosのドキュメントライブラリに記載されています。

[request setHTTPMethod: @"POST"]; 
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"]; 
    [request setHTTPBody:postBodyData]; 

ご意見、ご提案または例があります。

答えて

0

問題を把握しました。 バイナリデータを送信していたので、コンテンツタイプが間違っていました。空の文字列を渡すと正しく機能しました。

しかし、コンテンツタイプが設定されていないので、以下に示すように正しく動作するMIMEタイプが見つかりました。

[request setValue:@"application/octet-stream" forHTTPHeaderField:@"content-type"]; 
0

投稿されたデータのContent-Lengthもリクエストヘッダーに渡す必要があります。次のように追加する必要があります。

NSString *postLength = [NSString stringWithFormat:@"%d", [postBodyData length]]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
+0

うん、私は追加して...それはまだ.. :(これは今少し痛いなっているサーバーののparamsで終わるされていることをテストしている。 –

+0

あなたは「ののparamsで終わると言うときサーバー "とは何ですか?正確にはどういう意味ですか? – jonkroll

+0

名前の値のペアが通常どこにあるかは、本文のデータが終わります...説明する助けとなる用量? –

関連する問題