2012-02-02 10 views
0

これは重複する質問かもしれませんが、私は検索時に私の答えを見つけることができませんでした。だから、私はどのようにURLにデータを投稿するのですか?私はこれまでに何が得られたのかを確信しています:iphone SDK:データをURLに投稿するには?

NSString *url = @"https://localhost/login.php"; 
NSURL *urlr = [NSURL URLWithString:url]; 
NSMutableURLRequest *urlre = [[NSMutableURLRequest alloc] init]; 


[urlre setURL:[NSURL URLWithString:url]]; 
NSUserDefaults *defs = [NSUserDefaults standardUserDefaults]; 
NSString *user = [defs stringForKey:@"User"]; 
NSString *pass = [defs stringForKey:@"Pass"]; 
NSInteger *version = [defs integerForKey:@"Version"]; 


NSString *bodyData = [[NSString alloc] initWithFormat:@"user=%@&password=%@&version=%d",user,pass,version]; 
NSData *body = [bodyData dataUsingEncoding:NSASCIIStringEncoding]; 
NSURLResponse *response = nil; 
NSError *error = nil; 


[urlre setHTTPMethod:@"POST"]; 
[urlre setValue:[[NSString alloc] initWithFormat:@"%d",[body length]] forHTTPHeaderField:@"Content-Length"]; 
[urlre setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
[urlre setHTTPBody:body]; 

NSData *dataThis = [NSURLConnection sendSynchronousRequest:urlre returningResponse:&response error:&error]; 

if(dataThis) 
{ 
    NSLog(@"Connect Success"); 
} else { 
    NSLog(@"%@",[error localizedDescription]); 
} 

上記は正しいですか?私の中で

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

イベントは何も得られません。 didFinishLoadingでも、NSLogでは何も得られません。助けてください。

答えて

0

リクエストに代理人を設定しましたか?

ASIHTTPRequestのようなフレームワークを使ってみると、物事がとても単純になります。それを確認してくださいhttp://allseeing-i.com/ASIHTTPRequest/

+0

あまりにも多くのコンパイルエラー。私はそれを設定しようとしました。 –

+0

ASIHTTPはARCに準拠していないため、コンパイルエラーがあると思います。あなたがすることはあなたのプロジェクトをクリックすることです - プロジェクト名をターゲット - >ビルドPHASES - >ソースをコンパイルし、すべてのASIHTTPファイルを選択し、Enterキーを押してダイアログボックスをポップアップし、コンパイルフラグボックスに貼り付けます-objc-arcあなたはそれに行くのが良いはずです。 – sbarow

関連する問題