2017-10-06 13 views
-1

外部ライブラリーを使用せずにSwift4で次のパラメーターを使用してHTTP Get Requestを送信するにはどうすればよいですか?Swift4でのHTTPヘッダーとパラメーターの追加

URL: "https://api.newsapi.aylien.com/api/v1/stories" 
Parameters = ["categories.confident": "true", "source.name" : "The New York Times", "cluster" : "false", "cluster.algorithm" : "lingo", "sort_by" : "published_at", "sort_direction" : "desc", "cursor" : "*", "per_page" : "10"] 
Headers = ["X-AYLIEN-NewsAPI-Application-ID": "App-ID-Here", "X-AYLIEN-NewsAPI-Application-Key": "App-Key-Here"] 
+0

あなたはスウィフト3. 'URLRequest'と' URLSession'で行うのと同じ方法で。 –

+0

URLRequestにパラメータとヘッダーを追加するにはどうすればよいですか? – pranavhgupta

+1

これは難しい問題ではありません。最も基本的な機能を実行する方法を尋ねています。ドキュメントをお読みください。 –

答えて

2

あなたはこのように使用することができます:

let urlString = "https://api.newsapi.aylien.com/api/v1/stories" 
let parameters = ["categories.confident": "true", "source.name" : "The New York Times", "cluster" : "false", "cluster.algorithm" : "lingo", "sort_by" : "published_at", "sort_direction" : "desc", "cursor" : "*", "per_page" : "10"] 
let headers = ["X-AYLIEN-NewsAPI-Application-ID": "App-ID-Here", "X-AYLIEN-NewsAPI-Application-Key": "App-Key-Here"] 

var urlComponents = URLComponents(string: urlString) 

var queryItems = [URLQueryItem]() 
for (key, value) in parameters { 
    queryItems.append(URLQueryItem(name: key, value: value)) 
} 

urlComponents?.queryItems = queryItems 

var request = URLRequest(url: (urlComponents?.url)!) 
request.httpMethod = "GET" 

for (key, value) in headers { 
    request.setValue(value, forHTTPHeaderField: key) 
} 

let task = URLSession.shared.dataTask(with: request) { (data, response, error) -> Void in 
    print(response) 
} 
task.resume() 
関連する問題