iPhone實現XML的POST傳遞並接收資料

來源:互聯網
上載者:User

iPhone實現XML的POST傳遞並接收資料是本文要介紹的內容,文章是基於代碼實現,在iphone開發中,經常會遇到和伺服器端互動資料,下面代碼是向伺服器端傳遞一個xml資料流,伺服器端接受資料並返回一個xml資料類型。

iphone傳遞資料的代碼:

 
  1. -(void) postxml   
  2. {   
  3.     //prepar request   
  4.     NSString *urlString = [NSString stringWithFormat:@"path"];   
  5.     NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];   
  6.     [request setURL:[NSURL URLWithString:urlString]];   
  7.     [request setHTTPMethod:@"POST"];   
  8.     //set headers   
  9.     NSString *contentType = [NSString stringWithFormat:@"text/xml"];   
  10.     [request addValue:contentType forHTTPHeaderField: @"Content-Type"];   
  11.     //create the body   
  12.     NSMutableData *postBody = [NSMutableData data];   
  13.     [postBody appendData:[[NSString stringWithFormat:@"<Request  Action=\"Login\">"] dataUsingEncoding:NSUTF8StringEncoding]];   
  14.     [postBody appendData:[[NSString stringWithFormat:@"<Body>"] dataUsingEncoding:NSUTF8StringEncoding]];   
  15.     [postBody appendData:[[NSString stringWithFormat:@"<Username>wangjun</Username>"] dataUsingEncoding:NSUTF8StringEncoding]];   
  16.     [postBody appendData:[[NSString stringWithFormat:@"<Password>password</Password>"] dataUsingEncoding:NSUTF8StringEncoding]];   
  17.     [postBody appendData:[[NSString stringWithFormat:@"<PlatformID>2</PlatformID>"] dataUsingEncoding:NSUTF8StringEncoding]];   
  18.     [postBody appendData:[[NSString stringWithFormat:@"<PlatformVersion>3.1.3</PlatformVersion>"] dataUsingEncoding:NSUTF8StringEncoding]];   
  19.     [postBody appendData:[[NSString stringWithFormat:@"<TaskViewerName>IP 1.3</TaskViewerName>"] dataUsingEncoding:NSUTF8StringEncoding]];   
  20.     [postBody appendData:[[NSString stringWithFormat:@"<TaskViewerVersion>3</TaskViewerVersion>"] dataUsingEncoding:NSUTF8StringEncoding]];   
  21.     [postBody appendData:[[NSString stringWithFormat:@"</Body>"] dataUsingEncoding:NSUTF8StringEncoding]];   
  22.     [postBody appendData:[[NSString stringWithFormat:@"</Request>"] dataUsingEncoding:NSUTF8StringEncoding]];   
  23.     //post   
  24.     [request setHTTPBody:postBody];   
  25.     //get response   
  26.     NSHTTPURLResponse* urlResponse = nil;    
  27.     NSError *error = [[NSError alloc] init];    
  28.     NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];    
  29.     NSString *result = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];   
  30.     NSLog(@"Response Code: %d", [urlResponse statusCode]);   
  31.     if ([urlResponse statusCode] >= 200 && [urlResponse statusCode] < 300) {   
  32.         NSLog(@"Response: %@", result);   
  33.     }   

運行結果是:

 
  1. 2010-09-09 13:19:25.190 PostXmlDemo1[685:307] 點擊我了,哈哈   
  2. 2010-09-09 13:19:28.450 PostXmlDemo1[685:307] Response Code: 200   
  3. 2010-09-09 13:19:28.456 PostXmlDemo1[685:307] Response: 
  4. <Response  Action=’Login’><Cookie>DFGHJYUIILNBV$%^&*gghj^&IUF%^R^DFYUIHNVB
  5. </Cookie><Body><User Name=’使用者名稱’ >< Avatar>登陸帳戶圖片URL</Avatar></User><State>1</State><Description>
  6. 登陸成功後的描述資訊。</Description></Body></Response> 

小結

iPhone實現XMLPOST傳遞並接收資料的內容介紹完了,希望本文對你有所協助。

本文來自:>http://wangjun.easymorse.com/?p=864

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.