2016-05-12 9 views
0

これで、jsonファイルを文字列としてダウンロードし、後者を解析しようとしています。しかし私はまず自分のウェブページからダウンロードしなければならない。このウェブページにはユーザー名とパスワードが必要です。これは私にユーザー名やパスワードを送信しないように401エラーを与えています。リクエストにユーザー名とパスワードを追加するにはどうすればよいですか?Alamofireを使用していて、サーバーに接続しようとしているときにswiftを使用するとエラーが発生する

print("Downloading the json file") 
    let plainString = "\(myUserName):\(myPassword)" as NSString 
    let plainData = plainString.dataUsingEncoding(NSUTF8StringEncoding) 
    let base64String = plainData?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0)) 

    Alamofire.Manager.sharedInstance.session.configuration.HTTPAdditionalHeaders = ["Authorization": "Basic " + base64String!] 

    Alamofire.request(.GET, promoUrl) 
     .response {(request, response, _, error) in 
      print(response) 
    } 

これ

Optional(<NSHTTPURLResponse: 0x7fe103818790> { URL: http://xxxapi/1.0/promotions } { status code: 401, headers { 
"Cache-Control" = "no-cache, no-store, max-age=0, must-revalidate"; 
Connection = "keep-alive"; 
"Content-Length" = 186; 
"Content-Type" = "application/json;charset=UTF-8"; 
Date = "Thu, 12 May 2016 01:36:33 GMT"; 
Expires = 0; 
Pragma = "no-cache"; 
Server = "Apache-Coyote/1.1"; 
"Www-Authenticate" = "Basic realm=\"Realm\""; 
"X-Content-Type-Options" = nosniff; 
"X-Frame-Options" = DENY; 
"X-XSS-Protection" = "1; mode=block"; 

からの結果である。この

答えて

0

こんにちは一人一人がそうもう少しそれに取り組ん後、私はそれが動作するようになったとの任意のヘルプのためにありがとうございました。私は上のすべてのものを取り除き、簡単に行きました。これは、より良い仕事をして、ここで

を行うことは容易には重要な違いは、この

parameters: [myUserName:myPassword] 

である。これは、URLの中に自分のパスワードとユーザー名をロード

Alamofire.request(.GET, promoUrl, parameters: [myUserName:myPassword]) 
     .authenticate(user: myUserName, password: myPassword) 
     .response {(request, response, data, error) in 
      print(response) 


    } 

それを望んでいる人のための作業コードです。これを行う最良の方法ではないかもしれませんが、今の私のニーズに対応します

関連する問題