Https URLSession或Alamofire.Request don';不能在URL中使用破折号?
我正在尝试向以下URL发出请求 此请求应仅返回纯文本:Https URLSession或Alamofire.Request don';不能在URL中使用破折号?,https,alamofire,xcode9,swift4,macos-high-sierra,Https,Alamofire,Xcode9,Swift4,Macos High Sierra,我正在尝试向以下URL发出请求 此请求应仅返回纯文本: Clc1ccc(C=O)cc1 在这样的操场上使用代码非常有效: var cas = "530-62-1" let url = URL(string: "https://cactus.nci.nih.gov/chemical/structure/\(cas)/smiles") var result = "" let task = URLSession.shared.dataTask(with: url!) {(data, respon
Clc1ccc(C=O)cc1
在这样的操场上使用代码非常有效:
var cas = "530-62-1"
let url = URL(string: "https://cactus.nci.nih.gov/chemical/structure/\(cas)/smiles")
var result = ""
let task = URLSession.shared.dataTask(with: url!) {(data, response, error) in
//print(response!)
result = String(data: data!, encoding: String.Encoding(rawValue: String.Encoding.utf8.rawValue))!
print(result)
}
task.resume()
但是如果我尝试在我的macOS项目(使用Swift 4和Xcode 9)中使用针对macOS 10.13的代码,我会得到
请求的URL为:
2017-10-10 17:23:08.475739+0100公里[18012:3495056]
dnssd_客户端存根连接到服务器:connect()失败
路径:/var/run/mdnsrresponder套接字:11错误:-1错误号:1操作不正确
允许的2017-10-10 17:23:08.476341+0100公里[18012:3495056]
[]nw\u解析器\u创建\u dns\u服务\u锁定
DNSServiceCreateDelegateConnection失败:ServiceNotRunning(-65563)
2017-10-10 17:23:08.476719+0100公里[18012:3495056]
连接失败[1:0x60c000162dc0]:10:-72000错误(-65563)
如果我尝试使用Alamofire(我只是想检查一下,使用如下代码:
func alamoRequest(cas: String) -> String {
var smilesResult = ""
var stringURL = "https://cactus.nci.nih.gov/chemical/structure/\(cas)/smiles"
var url = URL(string: stringURL)!
Alamofire.request(url).responseString { response in
print("Request: \(String(describing: response.request))") // original url request
print("Response: \(String(describing: response.response))") // http url response
print("Result: \(response.result)") // response serialization result
print("Error: \(String(describing: response.error))")
if let result = response.result.value {
smilesResult = result
print("Result: \(result)") // serialized json response
} else if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
smilesResult = utf8Text
print("Data: \(utf8Text)") // original server data as UTF8 string
}
}
return smilesResult
}
我得到以下错误:
请求:
可选()
响应:无结果:失败错误:可选(错误
域=nsurErrorDomain代码=-1003“具有指定
找不到主机名。“
UserInfo={NSUnderlyingError=0x60c000450800{Error
域=KCFerrorDomainCFN网络代码=-1003“(空)”
UserInfo={kCFStreamErrorCodeKey=-72000,
_kCFStreamErrorDomainKey=10}},NSErrorFailingURLStringKey=,
NSErrorFailingURLKey=,
_kCFStreamErrorDomainKey=10,kCFStreamErrorCodeKey=-72000,NSLocalizedDescription=无法找到具有指定主机名的服务器
被找到。})
从错误中可以看出URL无效,或者无法从macOS应用程序中识别出来?奇怪的是,在操场上它工作正常
我尝试在plist中启用应用程序传输安全设置-->允许任意加载-->是,但这没有什么区别。问题很简单:我只需要启用应用程序沙盒并检查传入和传出的网络连接