Https URLSession或Alamofire.Request don';不能在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

我正在尝试向以下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, 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中启用应用程序传输安全设置-->允许任意加载-->是,但这没有什么区别。

问题很简单:我只需要启用应用程序沙盒并检查传入和传出的网络连接