1
私はHTTPを使用するSMSゲートウェイを使用しています。私はチュートリアルやstackoverflowなどの質問を使用してリクエストを作成したが、何か間違っている。私は手動でURLを入力するときに問題なくゲートウェイを使用することができますが、プログラムで行うことはできませんので、おそらく自分のコードが正しくないと思っていました。助けをよろしく!Objective-C HTTP POSTリクエスト
NSString *post = [NSString stringWithFormat:@"user=%@&password=%@&api_id=%@&to=%@&text=%@",_username,_password,_apiID,[_numbers componentsJoinedByString:@","],_txtMsg.text];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://api.mySmsGateWay.com/http/sendmsg"]];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postData];
NSError *error = [[NSError alloc] init];
NSHTTPURLResponse *responseCode = nil;
NSData *oResponseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&responseCode error:&error];
if([responseCode statusCode] != 200){
NSLog(@"Error getting, HTTP status code %i", [responseCode statusCode]);
}
NSLog (@"%@", [[NSString alloc] initWithData:oResponseData encoding:NSUTF8StringEncoding]);
あなたはリクエストヘッダをチェックしましたか?認証に関連するパラメータやアプリケーション/ jsonを設定する必要はありません。 – arthurfonseca
URLを書き込んだ(NSString post)のパラメータをブラウザに追加するだけで十分です。 – cameloper
NSData * postData = [post dataUsingEncoding:NSUTF8StringEncoding];を試してください。 URLエンコードについて気にするhttp://stackoverflow.com/questions/8088473/how-do-i-url-encode-a-string – larva