2016-05-12 10 views
0

Ok, also versuche ich, eine JSON-Datei als Zeichenfolge herunterladen und analysieren es zuletzt. Aber ich muss es zuerst von meiner Webseite herunterladen. Diese Webseite benötigt einen Benutzernamen und ein Passwort, um dorthin zu gelangen. Dies hat mir einen Fehler von 401 gegeben, so dass es nicht den Benutzernamen oder das Passwort sendet. Wie kann ich den Benutzernamen und das Passwort zur Anfrage hinzufügen?401 Fehler bei der Verwendung von Alamofire und swift beim Versuch, eine Verbindung zu meinem Server

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) 
    } 

Dies ist das Ergebnis daraus

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"; 

Vielen Dank für jede Hilfe mit diesem

Antwort

0

Hallo jeder so nach einem bisschen mehr daran zu arbeiten habe ich es zu arbeiten. Ich habe all das Zeug oben losgeworden und bin einfach gegangen. Es funktionierte besser und leichter

hier zu tun ist, die Arbeitscode für jeden, der es Dies lädt

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


    } 

Der wesentliche Unterschied dieses

parameters: [myUserName:myPassword] 

ist mein Passwort und Benutzernamen in die URL möchte . Es ist vielleicht nicht der beste Weg, dies zu tun, aber es funktioniert für meine Bedürfnisse für jetzt

Verwandte Themen