我一直在嘗試使用 Swift 為移動應用程序打印和 HTTP 發布,我可以使用 javascript 和 express.js 記錄它。但是當使用用 Go 創建的服務器時,它給了我:Get "http://192.121.1.397:8080": dial tcp http://192.121.1.397:8080: i/o timeoutexit status 1您可以在下面看到所有 3 種語言的代碼:迅速:import Foundationclass Service: NSObject { static let shared = Service() func fetch(completion: @escaping (Result<[Post], Error>) -> ()){ guard let url = URL(string: "http://192.121.1.397:8080" ) else{return} URLSession.shared.dataTask(with: url) { (data, resp, err) in if let err = err { print(err) return } guard let data = data else {return} do{ let posts = try JSONDecoder().decode([Post].self, from:data) completion(.success(posts)) } catch{ completion(.failure(error)) } } } func post(title: String, body: String, completion: @escaping (Error?) -> ()) { guard let url = URL(string: "http://192.168.1.148:8080") else{return} var urlReq = URLRequest(url:url) urlReq.httpMethod = "POST" let params = ["title": title, "postBody": body] do{ let data = try JSONSerialization.data(withJSONObject: params, options: .init()) urlReq.httpBody = data urlReq.setValue("application/json", forHTTPHeaderField: "Content-Type") URLSession.shared.dataTask(with: urlReq){(data, resp, err) in guard let data = data else{return} completion(nil) }.resume() } catch{ completion(error) } }}
1 回答

守著一只汪
TA貢獻1872條經驗 獲得超4個贊
.... http.Get("http://http://192.121.1.397:8080")
這不是有效的 URL。應該只是http://192.121.1.397:8080
。
除此之外,我不確定你在做什么。為什么嘗試在同一服務器的處理程序中訪問服務器?這也與您在 nodejs 中所做的不同,您只需發送一個簡單的響應。
- 1 回答
- 0 關注
- 142 瀏覽
添加回答
舉報
0/150
提交
取消