【问题标题】:How do I make an HTTPS request on iOS?如何在 iOS 上发出 HTTPS 请求?
【发布时间】:2013-12-09 20:37:54
【问题描述】:

我需要通过 GET 请求连接到 API。我有一个作为 URL 的字符串。 iOS 7 上通过 HTTPS 发送 GET 请求并将字符串存储在字符串变量中的当前最佳实践方式是什么?

我只需要提出一个简单的请求。不涉及会话数据。没有饼干。只是来自 URL 的简单 GET,它会在响应正文中返回一个字符串。谢谢!

【问题讨论】:

  • 我猜谷歌没有帮助你?
  • 是的,但是如何使它成为 HTTPS 请求,而不是常规 HTTP?我尝试了现有的方法,它们只是返回错误“错误的 URL”。但是,如果我将 URL 粘贴到 Safari 中,它就可以工作。我想指出,您链接到的帖子中唯一的方法使用了已弃用的 NSURLConnection,我要求使用“iOS 7 上的当前最佳实践方式”,这意味着使用 NSURLSession。因此,如果您停止对我投反对票,那就太好了。

标签: ios https get request


【解决方案1】:

首先您需要实现连接委托方法。 以下是发起http请求的代码。

NSString *strURL = [NSString stringWithFormat:@"https://your_url"];
NSURL *url = [NSURL URLWithString:strURL];
NSLog(@"URL Request : \n %@",url);

NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
[req addValue:@"your API Key" forHTTPHeaderField:@"Api-Key"];
[req setHTTPMethod:@"GET"];

conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
if (conn) {
    webData = [[NSMutableData data] retain];
}

【讨论】:

  • 在 iOS 7 及更高版本或 OS X v10.9 及更高版本中,NSURLSession 是执行 URL 请求的新代码的首选 API。
  • 这是苹果公司的说法。我要求“当前的最佳实践”,您的答案不是,即使它有效。不过谢谢!
猜你喜欢
  • 2012-12-14
  • 1970-01-01
  • 2011-05-12
  • 2018-07-16
  • 1970-01-01
  • 2018-11-14
  • 2016-04-29
  • 2023-03-26
  • 2013-01-05
相关资源
最近更新 更多