Objective c 我怎样才能得到你的身体?

Objective c 我怎样才能得到你的身体?,objective-c,http-status-code-404,nsurlconnection,nsurlrequest,Objective C,Http Status Code 404,Nsurlconnection,Nsurlrequest,我正在编写一个应用程序,它使用NSURLConnection与服务器连接 在委托方法didreceiveresponse中,如果状态代码为404,我将取消连接,并希望显示一条包含服务器中生成的自定义错误的消息 问题是,从response对象中,我只能获取statuscode、Header、mimetype等,而不能获取body 如何从nsurresponse获取正文消息 为什么要取消连接?毕竟,404也可以有内容主体。只是不要取消它,让程序调用下一个委托NSURLConnection方法。 当数

我正在编写一个应用程序,它使用
NSURLConnection
与服务器连接

在委托方法
didreceiveresponse
中,如果状态代码为404,我将取消连接,并希望显示一条包含服务器中生成的自定义错误的消息

问题是,从response对象中,我只能获取statuscode、Header、mimetype等,而不能获取body


如何从
nsurresponse
获取正文消息

为什么要取消连接?毕竟,404也可以有内容主体。只是不要取消它,让程序调用下一个委托NSURLConnection方法。 当数据[内容正文]被发送时,调用
-(void)connection:(NSURLConnection*)didReceiveData:(NSData*)
,您需要在那里检索数据:

服务器对请求的响应可以看作两部分:描述内容的元数据和URL内容数据大多数协议通用的元数据由NSURLResponse类封装,由MIME类型、预期内容长度、文本编码(如适用)和提供响应的URL组成。

NSURLConnection和NSURLDownload类提供接口,用于建立由NSURLRequest对象指定的连接并下载内容。NSURLConnection对象在从原始源接收委托时向委托提供数据,而NSURLDownload对象将请求数据直接写入磁盘。这两个类都为响应重定向、身份验证挑战和错误条件提供了广泛的委托支持

关于委托实现的示例:

-   (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)theData{
    NSLog(@"String sent from server %@",[[NSString alloc] initWithData:theData encoding:NSUTF8StringEncoding]);

}

但是,如果您正在执行同步调用,则不会使用委托方法。您可以立即得到结果:[NSURLConnection sendSynchronousRequest:request returningResponse:&响应错误:&错误]