gpt4 book ai didi

ios - 与 NSURLConnection 相关的问题

转载 作者:行者123 更新时间:2023-11-28 23:12:56 24 4
gpt4 key购买 nike

今天,我遇到了 NSURLConnection 的问题。我想下载 URL http://api.wunderground.com/api/fs3a45dsa345/geolookup/q/34.532900,-122.345.json 的内容。如果我只是将 URL 粘贴到 Safari 中,我会得到正确的响应。但是,如果我对 NSURLConnection 做同样的事情,我会收到“未找到”的响应。这是我正在使用的代码:

NSURL *requestURL = [[NSURL alloc] initWithString:@"same url as above"];
NSURLRequest *urlRequest = [[NSURLRequest alloc] initWithURL:requestURL];
NSURLConnection *urlConnection = [[NSURLConnection alloc] initWithRequest:urlRequest
delegate:self
startImmediately:YES];

这里有什么问题?

最佳答案

通过向它发送 stringByAddingPercentEscapesUsingEncoding: 消息,确保转义 URL 字符串中的任何特殊字符,例如:

NSString *s = [@"some url string" stringByAddingPercentEscapesUsingEncoding:NSUTFStringEncoding];
NSURL *requestURL = [NSURL URLWithString:s];

编辑

原来 Web 服务请求失败是因为默认情况下未设置 User-Agent header 。要设置它,请使用 NSMutableURLRequest 的实例而不是 NSURLRequest 来创建请求,如下所示:

NSMutableURLRequest *myRequest = [NSMutableURLRequest requestWithURL:myURL];
[myRequest setValue:@"My App" forHTTPHeaderField:@"User-Agent"];

关于ios - 与 NSURLConnection 相关的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7583396/

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