2016-05-19 14 views
0

Ich schreibe etwas mit Server-API. Ich benutze RestKit, aber diese Frage habe ich ohne geschrieben. Ich verstehe nicht, warum die Konsolenanfrage funktioniert und ich nicht. Bitte hilf mir dabei.PUT Anfrage und Header-Token

-(void)uploadFile { 

    NSString *URLPath = [NSString stringWithFormat:@"https://api.interlabs.pro/v1/texts/23041/content"]; 

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
    [request setURL:[NSURL URLWithString:URLPath]]; 
    [request setHTTPMethod:@"PUT"]; 

    [request addValue: @"Bearer ewogICAgInR5cCI6ICJKV1QiLAogICAgImFsZyI6ICJIUzI1NiIKfQ.ewogICAgImlzcyI6ICJhcGkuaW50ZXJsYWJzLnBybyIsCiAgICAiaWF0IjogMTQ2MzY3ODg2NCwKICAgICJleHAiOiAxNDYzNjgyNDY0LAogICAgInN1YiI6IDgzCn0.SuvGXfsDDzpA5-qJtRUZi7uw98IqA8_axfTGcMVjZdw" forHTTPHeaderField: @"Authorization"]; 


    NSError *err; 
    NSURLResponse *response; 

    NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err]; 



    NSString *resSrt = [[NSString alloc]initWithData:responseData encoding:NSASCIIStringEncoding]; 
    NSLog(resSrt); 
} 

Und es ist immer noch nicht nicht funktionieren, aber Konsole arbeiten perfekt

Aber enter link description here

update token link

+0

Welchen Fehler bekommen Sie? –

+0

'Nachricht": "abgelaufenes Token" 'scheint klar genug zu sein ... –

+0

@Marc Token haben eine Ablaufzeit. @Teja Ich habe' fehlende Authentifizierung Token'. U kann 'Update Token Link' verwenden und dies ausprobieren –

Antwort

0

Der Code funktioniert gut, und das Ergebnis ist, dass Token abgelaufen ist. Aber Sie sollten nicht veraltete Methoden wie "NSURLConnection sendSynchronousRequest" verwenden, dann sollten Sie überprüfen, Fehler, wenn die Ergebnisse aus dem Internet ist es utf8 die meiste Zeit und nicht ascii. Verwenden Sie dann NSLog (@ "% @", theString), um Probleme zu vermeiden, wenn der Inhalt der Zeichenfolge Zeichenbezeichner enthält.

+0

Ich habe Dieses Protokoll mit normalem Token '{"Fehler": {"id": "38fa281a-a954-434e-b15e-a7f251601e98", "Code": 403, "Nachricht": "fehlendes Authentifizierungstoken"}} und ich habe NSURLSession verwendet und hatte das gleiche Ergebnis. "Wenn Sie neue Token von der zweiten Verbindung verwenden, haben Sie ein anderes Ergebnis –

+0

Beide Token geben mir" Nachricht ":" abgelaufen Token ". Edit: Stellen Sie sicher, dass die Daten nicht aus lokalen oder Remote-Cache kommt! –

+0

@ MacGritsch, wenn du mit dem zweiten Link gehst und ein neues Token kopierst, und es in einen ersten Link-Header steckst, erhältst du 'HTTP/1.1 302 Found'. Aber wenn du ein neues Token in den Code legst, bekommst du' "code": 403, "Nachricht": "fehlendes Authentifizierungs-Token" ' –

Verwandte Themen