Ios curl-u等效于swift中的NSURLRequest

Ios curl-u等效于swift中的NSURLRequest,ios,nsurlrequest,Ios,Nsurlrequest,我正在使用以下形式的命令: curl -u 'username:password' https://api.myapi.com/something 从终端连接到html API。我想使用NSURLRequest在iOS应用程序中执行同样的操作,方法是什么 这个问题有一个答案,但答案在ObjC中-我需要一个快速版本的代码 你可以这样做 public class WebService{ var session = URLSession() init() {

我正在使用以下形式的命令:

curl -u 'username:password' https://api.myapi.com/something
从终端连接到html API。我想使用NSURLRequest在iOS应用程序中执行同样的操作,方法是什么

这个问题有一个答案,但答案在ObjC中-我需要一个快速版本的代码

你可以这样做

public class WebService{
    var session = URLSession()
    init() {
            let configuration = URLSessionConfiguration.default
            session = URLSession(configuration: configuration)
        }
    public class var sharedInstance: WebService {
        struct Singleton {
           static let instance = WebService()
      }
       return Singleton.instance
    }

     public func fetchAPIData(Username:String!, Password :String!,completion:@escaping (_ responsedata:NSDictionary?,_ error:NSError?) -> Void) {

        var Baseurl = "https://myexample.com"
        Baseurl = Baseurl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!
        let weatherRequestUrl = URL(string: Baseurl)
        let request = NSMutableURLRequest(url: weatherRequestUrl!)
         request.httpMethod = "POST"
        request.addValue("application/json", forHTTPHeaderField: "Content-Type")
        request.addValue("application/json", forHTTPHeaderField: "Accept")
        let params:[String: Any] = [

                        "usename":Username,
                        "password":Password
                    ]
        do {
            request.httpBody = try JSONSerialization.data(withJSONObject: params, options: JSONSerialization.WritingOptions())
        } catch {

        }
        let task = session.dataTask(with: request as URLRequest) { (data, response, error) in

            guard error == nil && data != nil else {

                return
            }
            if let httpStatus = response as? HTTPURLResponse{
                if httpStatus.statusCode != 200 {

                    print("Error")
                }
            }
            do {
                let respondDictionary = try JSONSerialization.jsonObject(with: data! as Data, options:.allowFragments) as! NSDictionary
                let respondData = respondDictionary["data"] as! NSDictionary
                completion(respondData,nil)
            }
            catch let error as NSError {

                completion(nil,error)
            }
        }
        task.resume()

    }
}

我应该把用户名和密码放在哪里?¨确保正确初始化NSURLSession(在您的代码示例中,它丢失了吗?)@Lepidopteron谢谢您纠正我,我更新了我的答案