ios开发 网络编程HTTP/FTP连接
来源:互联网 发布:python 汉明距离 编辑:程序博客网 时间:2024/05/19 06:15
1.CFHTTP
- 使用CFHTTPMessageCreateReque
st函数生成一个CFHTTP消息对象 - 使用CFHTTPMessageSetBody函数设置消息内容
- 使用CFHTTPMessageSetHeaderFi
eldValue函数设置消息头 - 使用CFHTTPMessageCopySeriali
zedMessage序列化消息
调用CFReadStreamCopyProperty
CFHTTPMessageRef response = CFReadStreamCopyProperty
使用CFHTTPMessageCopyRespons
CFStringRef statusLine =CFHTTPMessageCopyRespons
或者,使用CFHTTPMessageGetResponse
UInt32 errCode = CFHTTPMessageGetResponse
为了获取返回的数据,可以使用CFReadStreamSetClient方法设置回调函数,将readStream加到runloop中。在回调函数将每次读取的数据存起来(比如,有一个NSMutableData类型的变量data),读完后处理数据,代码如下:
if(kCFStreamEventHasBytesAv
{
UInt8 buff[255];
int length = CFReadStreamRead(stream, buff, 254);
[data appendBytes:buff
if(kCFStreamEventEndEncount
{
//读取已完成,处理读取的数据
}
}
NSString *string = [[NSString alloc] initWithData:dataencoding:0x80000632];//GB2312编码
CFReadStreamRef readStream =CFReadStreamCreateForHTT
if(CFReadStreamSetProperty(readStream,kCFStreamPropertyHTTPSho
{
//出错处理
}
CFReadStreamOpen(myReadStream);
2.CFFTP
CFStringRef url = CFSTR("ftp://ftp.example.com/file.txt");
CFReadStreamRef readStream =CFReadStreamCreateWithFT
如果FTP需要使用用户名和密码认证,通过CFReadStreamSetProperty方法设置kCFStreamPropertyFTPUser
要将文件下载到本地,可以使用CFWriteStreamCreateWithF
上传文件和下载文件差不多,只不过把读取流和写入流反过来用,使用CFWriteStreamCreateWithF
创建远程目录的方法与上传文件类似,只不过将CFURL对象设置一个路径而不是文件。
获取目录列表的方法与下载文件类似,数据读取到缓存后使用CFFTPCreateParsedResourc
3.NSURLConnection
CFNetwork是比较底层的接口,虽然用起来比较灵活,但并不好用。多数程序仅仅需要创建简单的请求来获取互联网上的一个文件,那么使用NSURLConnection要更加方便,因为不用跟套接字、流还有回调函数打交道,取而代之的是更熟悉的委托机制。
NSURLConnection *connection = [[NSRULConnection alloc]initWithRequest:request delegate:self];
这个是异步调用,NSURLConnection会在后台发送请求,通过设置委托参数,有数据时会收到通知。由一些委托方法来处理连接是过程中的不同事件。
当服务主机有响应将要开始发送数据时,didReceiveResponse:方法会被调用。这里可以做一些初始化的工作,比如有一个NSMutableData类型的data对象来存储数据,在这里可以把对象长度设为0,如下所示
-(void) connection:(NSURLConnection *)connectiondidReceiveRespose:(NSURLResonse *)response
{
[data setLength:0];
{
[data appendData:incomingData];
}
当数据加载完成时会调用connecitionDidFinshLoadi
- ios开发 网络编程HTTP/FTP连接
- ios开发 网络编程HTTP/FTP连接
- ios开发 网络编程HTTP/FTP连接
- 网络编程HTTP/FTP连接
- iOS开发 - 网络编程之HTTP协议
- IOS网络编程:HTTP
- IOS网络编程:HTTP
- IOS网络编程:HTTP
- IOS网络编程:HTTP
- IOS网络编程:HTTP
- IOS网络编程:HTTP
- IOS网络编程:HTTP
- IOS网络编程:HTTP
- iOS 网络编程 http
- iOS 开发 网络实时监测
- iOS 开发 中级:HTTP请求 GET POST 网络编程实现
- iOS 开发 中级:HTTP请求 GET POST 网络编程实现
- iOS 开发 中级:HTTP请求 GET POST 网络编程实现
- 天气预报接口api(中国天气网)
- coredata 最简单例子
- Linux学习笔记3 date,help,man,info,whatis,which,clock,hwclock,cal,echo,printf
- IOS中谓词的使用
- iOS下JS与OC互相调用(二)-->WKWebView 拦截URL
- ios开发 网络编程HTTP/FTP连接
- java的jdk配置与helloworld相关整理
- iOS判断是ipad还是iphone
- Socket编程——使用多线程实现多客户端的通信
- 如何使用iAd在应用程序中展示Banne…
- iOS从info.plist 获取项目的…
- ios系统声音编码表
- Golang包管理工具Glide,你值得拥有
- 高效使用你的Xcode