2016-10-27 2 views
0

Я пытаюсь изучить Swift и создание сетей. Я делаю простой HTTP-запрос на www.google.com, и он, похоже, не выполняется. Это код, который я написалSwift 3 HTTP-запрос не проходит

let url = URL(string: "www.google.com") 
var request = URLRequest(url: url!) 
let task = URLSession.shared.dataTask(with: request) { data, response, error in 
     print(response) 
    } 

Это, похоже, не выполняется. Я посмотрел онлайн и помощь не существует для Swift 3. Как я могу сделать HTTP-запрос в swift 3? Что я делаю не так?

+0

Вы знаете, я надеюсь, что вы действительно не можете сделать запрос 'http'? Вы должны использовать 'https:'. – matt

ответ

0

Вы забыли task.resume().

let url = URL(string: "http://www.google.com:80/") 
var request = URLRequest(url: url!) 
let task = URLSession.shared.dataTask(with: request) { data, response, error in 
    print(response) 
} 
task.resume() 

О и https:// или http://


Вот вся моя детская площадка для этого.

//: Playground - noun: a place where people can play 

import UIKit 
import PlaygroundSupport 
PlaygroundPage.current.needsIndefiniteExecution = true 

let url = URL(string: "http://www.google.com:80/") 
var request = URLRequest(url: url!) 
let task = URLSession.shared.dataTask(with: request) { data, response, error in 
    print(response) 
} 
task.resume() 

Обновлено показать, как использовать порт.

+0

Спасибо, как мне добраться до определенного порта? –

+0

@JonathanHsu Использовать ':' после имени хоста. '" http://www.google.com:80/ "' будет использовать порт '80' узла' www.google.com'. –

0

Вы забыли task.resume(), но, возможно, вы также забыли добавить исключения домена безопасности для транспорта приложений, поэтому, если вы еще этого не сделали, добавьте это в свой Info.plist.

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>google.com</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSExceptionAllowsInsecureHTTPLoads</key> 
      <true/> 
     </dict> 
    </dict> 
</dict> 
Смежные вопросы