IPhone implements xml post transmission and receivesDataThis is the content to be introduced in this article. This article is based on code implementation. During iphone development, data exchange with the server is often encountered. The following code is to passXml dataStream, Server AcceptDataAnd returnsXml dataType.
Code for iphone data transmission:
- -(void) postxml
- {
- //prepar request
- NSString *urlString = [NSString stringWithFormat:@"path"];
- NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
- [request setURL:[NSURL URLWithString:urlString]];
- [request setHTTPMethod:@"POST"];
- //set headers
- NSString *contentType = [NSString stringWithFormat:@"text/xml"];
- [request addValue:contentType forHTTPHeaderField: @"Content-Type"];
- //create the body
- NSMutableData *postBody = [NSMutableData data];
- [postBody appendData:[[NSString stringWithFormat:@"<Request Action=\"Login\">"] dataUsingEncoding:NSUTF8StringEncoding]];
- [postBody appendData:[[NSString stringWithFormat:@"<Body>"] dataUsingEncoding:NSUTF8StringEncoding]];
- [postBody appendData:[[NSString stringWithFormat:@"<Username>wangjun</Username>"] dataUsingEncoding:NSUTF8StringEncoding]];
- [postBody appendData:[[NSString stringWithFormat:@"<Password>password</Password>"] dataUsingEncoding:NSUTF8StringEncoding]];
- [postBody appendData:[[NSString stringWithFormat:@"<PlatformID>2</PlatformID>"] dataUsingEncoding:NSUTF8StringEncoding]];
- [postBody appendData:[[NSString stringWithFormat:@"<PlatformVersion>3.1.3</PlatformVersion>"] dataUsingEncoding:NSUTF8StringEncoding]];
- [postBody appendData:[[NSString stringWithFormat:@"<TaskViewerName>IP 1.3</TaskViewerName>"] dataUsingEncoding:NSUTF8StringEncoding]];
- [postBody appendData:[[NSString stringWithFormat:@"<TaskViewerVersion>3</TaskViewerVersion>"] dataUsingEncoding:NSUTF8StringEncoding]];
- [postBody appendData:[[NSString stringWithFormat:@"</Body>"] dataUsingEncoding:NSUTF8StringEncoding]];
- [postBody appendData:[[NSString stringWithFormat:@"</Request>"] dataUsingEncoding:NSUTF8StringEncoding]];
- //post
- [request setHTTPBody:postBody];
- //get response
- NSHTTPURLResponse* urlResponse = nil;
- NSError *error = [[NSError alloc] init];
- NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
- NSString *result = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
- NSLog(@"Response Code: %d", [urlResponse statusCode]);
- if ([urlResponse statusCode] >= 200 && [urlResponse statusCode] < 300) {
- NSLog(@"Response: %@", result);
- }
- }
The running result is:
- 13:19:25. 190 PostXmlDemo1 [685: 307] Click me, haha
- 13:19:28. 450 PostXmlDemo1 [685: 307] Response Code: 200
- 13:19:28. 456 PostXmlDemo1 [685: 307] Response:
- <Response Action = 'login'> <Cookie> DFGHJYUIILNBV $ % ^ & * gghj ^ & IUF % ^ R ^ DFYUIHNVB
- </Cookie> <Body> <User Name = 'username'> <Avatar> login User profile URL </Avatar> </User> <State> 1 </State> <Description>
- Description after successful login. </Description> </Body> </Response>
Summary
IPhoneImplementationXMLOfPOSTPass and receiveDataI hope this article will help you.
From:> http://wangjun.easymorse.com /? P = 864