1
我正在使用使用HTTP的SMS網關。我使用教程和問題在stackoverflow等創建了一個請求,但有什麼問題。當我手動輸入網址時,我可以毫無問題地使用網關,但是我無法通過編程來完成,因此我認爲我的代碼可能不正確。感謝任何幫助!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
使用瀏覽器時,只需將(NSString post)中寫入的參數添加到URL就足夠了。 – cameloper
試試NSData * postData = [post dataUsingEncoding:NSUTF8StringEncoding] ;.並關心網址編碼http://stackoverflow.com/questions/8088473/how-do-i-url-encode-a-string – larva