gpt4 book ai didi

objective-c - dataWithContentsOfURL - 服务器期望什么?

转载 作者:行者123 更新时间:2023-11-29 13:42:53 25 4
gpt4 key购买 nike

我正在尝试使用 URL 的内容创建 NSData:

NSString *theUrl = [NSString stringWithString:@"http://127.0.0.1:8090"]; 
NSError *connectionError = nil;
NSData *inData = [NSData dataWithContentsOfURL:[NSURL URLWithString:theUrl] options:NSDataReadingUncached error:&connectionError];
NSInteger code = [connectionError code];
if (code != 0)
{
NSString *locDesc = [NSString stringWithString:[connectionError localizedDescription]];
NSString *locFail = [NSString stringWithString:[connectionError localizedFailureReason]];
NSLog(@"Error: %d %@ %@", code, locDesc, locFail);
}
else if ([inData length] == 0)
{
NSLog(@"No data");
}

我有一个 super 简单的 Java http 服务器在本地主机上运行,​​它向客户端返回 Hello World:

DataOutputStream os = new DataOutputStream(s.getOutputStream()); // s is the socket
os.writeBytes(new String("Hello World\0"));
os.flush();
os.close();
s.close();

将 Google Chrome 指向 http://127.0.0.1:8090 时它按预期显示 Hello World,因此数据 被发送回。当我运行 objective-c 代码时,inData 为空(0x0,数据长度为 0),错误代码为 0,因此我没有要检查的错误。如果我将 theUrl 更改为“http://www.google.com”,它似乎工作正常,因为数据长度变为 > 0。

所以我的问题是为什么当我访问本地 http 服务器时 inData 为空。流是否必须以特定的数据序列终止?

最佳答案

服务器是否像预期的那样输出 HTTP 状态代码?如果响应不包含指示请求已成功完成的 200 状态,则可能导致 dataWithContentsOfURL:options:error: 失败。

关于objective-c - dataWithContentsOfURL - 服务器期望什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8587784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com