`
lizaochengwen
  • 浏览: 662625 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Iphone中的网络请求

阅读更多
一、简单的get请求
网络编程是我们经常遇到的,在IPhone中,SDK提供了良好的接口,主要使用的类有NSURL,NSMutableURLRequest,NSURLConnection等等。一般情况下建议使用异步接收数据的方式来请求网络连接,这种网络连接分为两步,第一步是新建NSURLConnection对象后,直接调用它的start方法来连接网络。第二步是使用delegate方式来接收数据,这里给一个常用的写法:
网络请求部分:
NSString *urlString = [NSString stringWithFormat:@"http://www.voland.com.cn:8080/weather/weatherServlet?city=%@",kcityID];
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest  requestWithURL:url];
NSURLConnection *aUrlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:true];
self.urlConnection = aUrlConnection;//这里的urlConnection在头文件中定义的变量
[self.urlConnection start];//开始连接网络
[aUrlConnection release];
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
接收数据部分,接收到的数据主要是在这里处理
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response  {
NSLog(@"接收完响应:%@",response);
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data  {
NSLog(@"接收完数据:");
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error  {
NSLog(@"数据接收错误:%@",error);
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection  {
NSLog(@"连接完成:%@",connection);
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}
二、Post请求
进行post请求,主要是设置好NSMutableURLRequest对象,在get请求中,我们都使用了默认的,实际这些request内容都可以设置的。设置好后,其它与get方式同:
NSString *content=[[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
[request setHTTPBody: content]; 
[request setHTTPMethod: @"POST"]; 
[request setValue:@"Close" forHTTPHeaderField:@"Connection"]; 
[request setValue:@"www.voland.com.cn" forHTTPHeaderField:@"Host"]; 
[request setValue:[NSString stirngWithFormat@"%d",[content length]] forHTTPHeaderField:@"Content-Length"];
原文地址:http://www.voland.com.cn/httpconnection-for-iphone-in-the-network-request
分享到:
评论

相关推荐

    Sift app:实时监控 iPhone 上所有应用的网络请求,让你知道你的手机 App 都干了什么.zip

    Sift app:实时监控 iPhone 上所有应用的网络请求,让你知道你的手机 App 都干了什么.zip,Uncover network traffic in real-time for every app on your phone

    iphone 网络通讯(官方例程) SimpleNetworkStreams

    《iPhone网络通讯——基于官方例程SimpleNetworkStreams的解析与应用》 在iOS开发中,网络通讯是不可或缺的一部分,Apple官方提供了丰富的API和技术支持来帮助开发者实现这一功能。本篇文章将深入探讨...

    iphone 网络收发测试程序

    通过这个“iPhone网络收发测试程序”,初学者可以学习到如何在iOS平台上构建网络功能,理解网络请求的基本流程,以及如何处理网络数据流。实践中遇到的问题和解决方法,将有助于深化对iPhone网络编程的理解。

    "请求的资源在使用中"的异常处理

    这是因为`webbrowser`控件内部机制不允许同时进行多个网络请求,它需要等待当前的请求完成之后才能接受新的请求。 #### 解决方案 为了解决这个问题,可以采用以下几种策略: 1. **添加调用控制**:这是一种简单...

    OSX服务端+iphone客户端 网络通信小程序

    它提供了一种面向对象的方式来处理网络请求,包括HTTP请求、套接字编程和流服务。在本项目中,OS X服务端使用了CFNETWORK来创建服务器,监听和响应来自客户端的连接。 服务端利用CFNetwork创建TCP服务器,这涉及到...

    iOS多线程网络请求,多线程下载图片

    本文将深入探讨如何在iPhone开发中利用多线程进行网络请求和图片下载。 首先,我们来看一下标题中的“多线程网络请求”。在iOS中,网络请求通常采用URLSession进行,它提供了异步处理能力,可以在后台线程中执行,...

    iOS iPhone 网络编程源代码网络通讯

    NSURLSession可以使用委托模式或者数据任务和下载任务的块回调来处理网络请求。 3. **NSStream**:网络流API主要用于低级别的网络通信,如TCP/IP或UDP套接字编程。NSInputStream和NSOutputStream分别用于读取和写入...

    Iphone 网络编程的一个简单例子

    这个例子将带你了解如何在iPhone应用中实现基本的网络请求,以便获取并处理来自远程服务器的数据。本教程主要涉及的技术点包括URLSession、JSON解析以及数据模型的构建。 首先,让我们关注`URLSession`。它是iOS ...

    iOS网络高级编程 iPhone和iPad的企业应用开发 PDF

    通过阅读《iOS网络高级编程:iPhone和iPad的企业应用开发》,开发者不仅能掌握基本的网络请求,还能了解和应用高级网络概念,从而构建出更加健壮、高效的iOS企业级应用。无论是对初学者还是有经验的开发者来说,这都...

    cocos2d iphone 中文开发资料大全

    9. **网络编程**:学习如何在Cocos2d-iPhone中集成网络功能,如HTTP请求、Socket通信,实现游戏的联网特性。 10. **IAP(In-App Purchase)**:理解如何在Cocos2d-iPhone游戏中实现内购功能,以提供付费内容或服务...

    iOS网络高级编程 iPhone和iPad的企业应用开发

    接着,书中会介绍URL Loading System,这是苹果提供的一个基础网络请求框架,用于发送HTTP/HTTPS请求。开发者可以使用NSURLConnection、NSURLSession以及其对应的异步请求机制来实现网络数据的获取。其中,...

    iOS网络高级编程 iPhone和iPad的企业应用开发完整版

    书中的内容可能会详细讲解如何创建和配置URLSession,使用数据任务、下载任务和上传任务进行网络请求,以及处理请求的生命周期和错误。 3. **JSON与XML解析**:企业级应用通常涉及与服务器交换JSON或XML格式的数据...

    iphone 利用本地数据来代替远程UIWebView请求实例

    然而,频繁的网络请求可能导致用户体验下降,特别是在离线或网络不稳定的情况下。为了解决这个问题,开发者可以利用本地数据来代替远程UIWebView请求,这样即使在网络不可用时也能提供内容。这个"iphone 利用本地...

    模仿Iphone网络加载进度条 demo

    通过分析和学习这个"模仿Iphone网络加载进度条 demo",开发者不仅可以掌握如何在Android上创建自定义进度条,还能了解如何结合网络请求进行实时更新,并且能提升应用的用户体验,使其更接近iOS的风格。此外,这个...

    iPhone网络通讯之BSD Socket篇

    接着,文章讨论了客户端如何发起网络请求,重点在“打电话”这一比喻中,说明了客户端需要知道服务端的“电话号码”,也就是IP地址。为此,文章还介绍了DNS解析的方法,用于将域名转换为IP地址。这部分内容体现了BSD...

    iphone 网络编程类 Http协议(更新版)

    总的来说,iPhone应用中的HTTP网络编程涉及到许多方面,包括请求构造、网络会话管理、错误处理和内存管理。掌握这些知识后,开发者可以构建出功能丰富的网络应用,并能有效地处理网络通信过程中的各种挑战。

    iphone中文实例开发

    总的来说,“iPhone中文实例开发”涵盖了Swift编程语言、Xcode使用、UIKit框架、网络请求、数据管理、权限控制以及应用发布等多个方面。通过实际的项目实践,你可以逐步建立起完整的iOS开发知识体系,成为一位熟练的...

    iPhone网络编程

    在iPhone开发中,网络编程是至关重要的一个环节,它允许应用与远程服务器进行数据交互,...在实际开发中,还需要考虑错误处理、数据传输的安全性、网络请求的异步处理等因素,以提供更稳定、用户体验更好的网络功能。

    iOS之同步请求、异步请求、GET请求、POST请求

    - 在网络请求中,缓存策略决定了如何处理本地存储的缓存数据和服务器的最新数据。例如,`NSURLRequestUseProtocolCachePolicy`是默认策略,会根据协议决定如何使用缓存。其他的策略如`...

    iphone访问java 后台webservice

    Objective-C或Swift是iPhone应用的主要编程语言,它们都提供了URLSession类来发送网络请求。开发者需要构造合适的URL,携带必要的参数,以GET或POST方式提交到服务器。 2. **WebService类型**:在描述中提到了XML和...

Global site tag (gtag.js) - Google Analytics