質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

0回答

1849閲覧

Swift3でAPIのデータを取得することができません。

suntroon

総合スコア10

HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2017/02/07 09:47

編集2017/02/07 10:03

###前提・実現したいこと
Swift3でAPIのデータを取得することができません。
IPアドレス直で書いてあることが原因でしょうか。

###発生している問題・エラーメッセージ

The certificate for this server is invalid. You might be connecting to a server that is pretending to be “IPアドレス” which could put your confidential information at risk.

###該当のソースコード
Swift3

let url = URL(string: "https://xxx.xxx.xxx.xxx/〜") var request = URLRequest(url: url!) request.addValue("Bearer xxxxxxxxxxxx", forHTTPHeaderField: "Authorization") let session = URLSession.shared let task = session.dataTask(with: request) { (data:Data?, response:URLResponse?, error:Error?) in guard error == nil else { return } guard let data = data else { return } guard let jsonData = try! JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.allowFragments) as? [String: Any] else { return } guard let resultSet = jsonData["ResultSet"] as? [String: Any] else { return } self.parseData(resultSet: resultSet) DispatchQueue.main.async { self.tableView.reloadData() } } task.resume()

###補足情報(言語/FW/ツール等のバージョンなど)
・Xcode 8.2.1
・上記はドメイン取得前のAPIなのでIPアドレス直で記載。

###試したこと
・他のドメイン取得してあるアドレスのAPIで試したところデータの取得ができました。
・info.plistでATSの無効化の設定

<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KOBAYASHI.Jun

2017/02/11 12:33 編集

作業している端末の時間は同期が取れて(あって)いますか? また、接続先のサーバの証明書は有効なものでしょうか?(自前認証局や、有効でないまたはブラウザでアクセスした際に湯構成を証明出来ないなどではありませんか?)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問