`
lizhuang
  • 浏览: 899825 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

NSURLRequest POST方式请求服务器示例

 
阅读更多
1、  准备阶段

NSString *urlString = [NSString stringWithFormat:@"http://jssb.zust.edu.cn/androidLogin.action"];

         NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];

         [request setURL:[NSURL URLWithString:urlString]];

       [request setHTTPMethod:@"POST"];



2、设置头

         NSString *contentType = [NSString stringWithFormat:@"text/xml"];

         [request addValue:contentType forHTTPHeaderField: @"Content-Type"];





3、数据内容体的设定

NSMutableData *postBody = [NSMutableData data];

[postBody appendData:[[NSString stringWithFormat:@"id=%@&password=%@&role=%@",@"admin02",@"admin02",@"dean"] dataUsingEncoding:NSUTF8StringEncoding]];

[request setHTTPBody:postBody];



XML传送的时候:

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];



4、请求响应

         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];
分享到:
评论

相关推荐

    ios同步、异步、get与post请求介绍

    在示例代码中,同步POST请求的创建过程包括: - 创建URL对象。 - 使用URL创建`NSMutableURLRequest`,设置缓存策略和超时时间,然后设置HTTP方法为"POST"。 - 将参数转化为`NSData`,并将其设置为请求体。 - ...

    oc-原生网络请求

    OC中的POST请求同样可以使用`NSURLSession`或`NSURLConnection`实现。 ```objc NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; NSURLSession *session ...

    全面解析iOS中同步请求、异步请求、GET请求、POST请求

    POST请求适合传递大量或敏感数据,没有URL长度限制,但处理起来比GET复杂,需要将参数与URL分开。 示例: ```objc NSURL *url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do"]; ...

    AFNetworking的常用封装 请求

    五、POST请求的封装 类似地,可以创建`- (void)POST:(NSString *)URLString parameters:(NSDictionary *)parameters completion:(void(^)(id response, NSError *error))completion`方法,使用`AFHTTPSessionManager...

    post异步获取url网络数据

    接着,使用`NSURLSession`的`dataTaskWithRequest:completionHandler:`方法发起POST请求,传入`NSURLRequest`对象和一个完成处理块来处理响应数据。 2. **HTTP POST请求**: - POST请求用于向服务器发送数据,通常...

    AFStudyPost

    标题中的"AFStudyPost"显然指的是使用AFNetworking进行POST请求的一个学习或示例项目。AFNetworking是iOS和macOS平台上广泛使用的网络库,它简化了HTTP请求处理,包括GET和POST等方法。在这个项目中,重点是理解如何...

    iosURLConnect使用教程

    - 在POST请求中,如果需要上传文件,通常会使用Multipart Form Data。这涉及到创建复杂的HTTPBody和Header,可以使用第三方库如AFNetworking简化操作。 8. **异步与同步请求**: - URLConnection默认是异步的,即...

    AFNetworking

    AFNetworking 提供了两种主要的网络请求方式:同步和异步。异步请求是默认的,这使得应用程序在等待服务器响应的同时可以继续执行其他任务,提高了用户体验。同步请求则会阻塞当前线程,直到请求完成,通常只在特定...

    ios应用源码之官方网络连接例子 simpleurlconnections 2018127

    本示例“simpleurlconnections”是针对iOS平台的官方网络连接代码实践,旨在帮助开发者理解并掌握如何在Objective-C中使用NSURLConnection进行网络请求。在2018年12月7日发布的这个源码库,包含了完整的实现过程和...

    NSURLConnection类写的webservice调用类

    对于POST请求,我们还需要设置请求体,即要发送的数据。 2. 设置代理:NSURLConnection使用代理模式,你需要实现NSURLConnectionDelegate和NSURLConnectionDataDelegate协议的方法。这些方法会在请求的不同阶段被...

    iOS开发中使用NSURLConnection类处理网络请求的方法

    **NSMutableURLRequest**: 作为NSURLRequest的子类,允许开发者修改请求的属性,比如添加自定义头信息或设置请求体内容,这在发送POST请求时尤其有用。 **NSURLConnection**: 用于发送NSURLRequest,并与服务器建立...

    AFNetworking 官方文档+翻译

    - `&lt;AFURLRequestSerialization&gt;`:定义了请求序列化协议,用于转换请求参数为 `NSURLRequest`。 - **AFHTTPRequestSerializer**:默认的请求序列化器,将字典或二进制数据转换为 HTTP 请求。 - **...

    IOS应用源码之网络操作 .rar

    `NSURLSessionDataTask`用于发送GET和POST请求,而`NSURLSessionDownloadTask`则用于大文件的下载。 2. **请求与响应**: 在`NSURLSession`中,我们通过`NSURLSessionTask`发起请求。请求可以是`NSURLRequest`对象,...

    iphone开发秘籍完整源代码13

    6. **请求配置**: NSURLRequest对象可以配置请求头、超时时间、缓存策略等,以适应不同的网络环境和安全需求。 7. **安全性与身份验证**: URLSession支持HTTPS和TLS,确保数据传输的安全。对于需要证书或凭据的...

    移动互联网 iOS网络编程

    5. **官方提供的SimpleNetworkStreams**:Apple提供了简化网络流操作的示例代码,方便开发者理解和实现网络请求。 iOS网络编程的整体理论包含以下几个关键部分: **基于URL的加载系统**:这是iOS网络编程的基础,...

    ios使用Afnetworking和Nsurlsession测试

    3. **发起请求**:使用NSURLSessionDataTask发起GET或POST请求,或者使用NSURLSessionDownloadTask处理下载任务。 ```objc NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@...

    IOS应用源码之官方网络连接例子 SimpleURLConnections .zip

    3. **发送请求**: 任务需要一个URL请求(NSURLRequest或 URLRequest)来指定要访问的URL和HTTP方法(GET、POST等)。请求还可以包含头信息和POST参数。 4. **处理响应和数据**: 通过实现URLSessionDelegate协议,...

    AFNetwork简单应用

    POST请求常用于向服务器提交数据。创建POST请求需要设置请求体: ```objc NSDictionary *parameters = @{@"key": @"value"}; NSURL *url = [NSURL URLWithString:@"http://example.com/api"]; NSMutableURLRequest ...

    通过 NSURLConnection 进行异步下载

    1. `NSURLRequest` 类型的请求:你需要构建一个包含URL信息的请求对象,例如通过 `NSURLRequest requestWithURL:` 创建。请求可以包含HTTP头信息、请求方法(GET、POST等)和其他必要设置。 2. `NSOperationQueue`...

    Swift_ios_HTTP

    1. **创建请求对象**:首先,你需要创建一个`NSURLRequest`对象,该对象包含了HTTP请求的所有信息,比如URL、HTTP方法(GET、POST等)、请求头和请求体(如果需要的话)。 2. **定义回调块**:然后,你需要提供一个...

Global site tag (gtag.js) - Google Analytics