IOS 5でHTTP GET要求を行う最も簡単な方法は何ですか?

私は私のアプリケーションをWebサーバーのPHPファイルに送信しようとしています。ユーザーに電子メールを送信し、私のデータベースに提案を保存するブラウザでPHPスクリプトをテストしました。次のスクリプトを実行すると、IOS経由で正常に接続されますが、データベースに結果は表示されません。

NSString *post = [NSString stringWithFormat:@"http://blahblah.com/suggest.php?s=%@&n=%@&e=%@", suggestion, name, email];

   //Create the request.
    NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:post]
                                              cachePolicy:NSURLRequestUseProtocolCachePolicy
                                          timeoutInterval:60.0];

   //create the connection with the request
   //and start loading the data
    NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];

    if (theConnection) {

        NSLog(@"Connection establisted successfully");

    } else {

        NSLog(@"Connection failed.");

    }

私はすべての文字列をチェックし、%20などのすべてのスペースをエンコードしました。誰かが私のスクリプトがうまくいかないような明白な明白な理由を見ることができますか?

Safariを開かずにアプリケーションからHTTPリクエストを行う最も簡単な方法は何ですか?

4

1 答え

問題はあなたが接続を作成しているが、実際の "接続"要求を送信していないことです。の代わりに

NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];

次のコードを試してみてください:

NSURLResponse* response = nil;
NSData* data = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:nil]

これはすばやく簡単な解決策ですが、この接続が進行中にUIスレッドがフリーズしているように見えることに注意してください。その周りの方法は、上記より少し複雑な非同期接続メソッドを使用することです。 NSURLConnectionは非同期要求を送信しますのWeb検索 - 答えはそこにあります。

7
追加された