Get content of webservice
I've got an URL like here. When I type that into Safari's address bar I see an result like "Error" or "OK".
So, how do I properly call that URL from within my code and get that result as a开发者_StackOverflow中文版 string?
I've tried it with NSURLConnection
, NSURLRequest
and NSURLResponse
but my response object is always nil
.
The "response" in those classes refers to the protocol response (HTTP headers, etc.), not the content.
To get the content, you have a few options:
- Use NSURLConnection in asynchronous mode: Using NSURLConnection
Use NSURLConnection in synchronous mode:
// Error checks omitted NSURL *URL = [NSURL URLwithString:@"http://www.myserver.com/myservice.php?param=foobar"]; NSURLRequest *request = [NSURLRequest requestWithURL:URL]; NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
Use
[NSString stringWithContentsOfURL:]
NSURL *URL = [NSURL URLwithString:@"http://www.myserver.com/myservice.php?param=foobar"]; NSString *content = [NSString stringWithContentsOfURL:URL];
Of course, you should use options 2 and 3 only if your content will be really small in size, to maintain responsiveness.
精彩评论