2016-10-27 1 views
0

Ich versuche Swift und Vernetzung zu lernen. Ich erstelle eine einfache HTTP-Anfrage an www.google.com und es scheint nicht ausgeführt zu werden. Dies ist der Code, den ich geschrieben habeSwift 3 HTTP Anfrage geht nicht durch

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) 
    } 

Dies scheint nicht auszuführen. Ich habe online gesucht und Hilfe ist nicht für Swift 3. Wie könnte ich eine HTTP-Anfrage in Swift 3 machen? Was mache ich falsch?

+0

Sie wissen, ich hoffe, dass Sie nicht wirklich eine 'http' Anfrage stellen können? Sie müssen 'https:' verwenden. – matt

Antwort

0

Sie haben task.resume() vergessen.

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() 

Oh und https:// oder http://


Hier ist mein ganzer Spielplatz für diese.

//: 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() 

Aktualisiert zu zeigen, wie Port zu verwenden.

+0

Danke, wie schaffe ich es zu einem bestimmten Port? –

+0

@ JonathanHsu Verwenden Sie nach dem Hostnamen ein ':'. '" http://www.google.com:80/ "' würde Port '80' des Hosts' www.google.com' verwenden. –

0

Sie haben vergessen, task.resume(), aber Sie haben möglicherweise auch vergessen, App Transport Security Domain-Ausnahmen hinzuzufügen, also, wenn Sie nicht bereits haben, fügen Sie dies zu Ihrem 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>