我正在尝试将一些数据从我的应用程序传递到php脚本,但是它总是返回失败,如Could not connect to server
。
但是当我将链接复制到浏览器时,它照常工作。我不知道为什么它不能在我的iOS应用程序中工作。
这是我使用URLSession发送请求的方式
guard let url = URL(string: "http://127.0.0.1:8000/app.php?token=\(deviceToken)") else {
return
}
var request = URLRequest(url: url.absoluteURL)
request.httpMethod = "GET"
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
if error == nil {
guard let dataReq = data else {
completionHandler(false, (error?.localizedDescription)!)
return
}
do {
let json = try JSONSerialization.jsonObject(with: dataReq, options: JSONSerialization.ReadingOptions.mutableContainers) as? [String:Any]
if let jsonData = json {
print("===== This is jsonData \(jsonData) =====")
} else {
print("===== Cannot Get JSONDATA =====")
}
} catch {
completionHandler(false, (error.localizedDescription))
}
} else {
print("===== Error SENDING REQUEST \((error?.localizedDescription)!)")
completionHandler(false, (error?.localizedDescription)!)
}
}
task.resume()
我想将名为token的参数传递给我的php脚本
这是我的php文件
<?php
$device = $_GET['token'];
$deviceToken = $device;
echo $device;
答案 0 :(得分:0)
您正在使用本地回送IP地址,该地址无法通过物理设备或模拟器使用。
在Mac终端窗口中输入ifconfig
,您将看到多个网络接口。您将拥有一个127.0.0.1
,可能被称为lo0
,并且可能还有其他类似en0
的工厂,而另一个IP地址将是192.168.0.3
。
您将需要使用本地192.
地址在同一网络上连接到本地计算机。