Senden einer POST-Anfrage von Cocoa an Tumblr

7

Dieses Code-Snippet funktioniert nicht, ich bekomme eine "Authentifizierung fehlgeschlagen". Antwort vom Server. Irgendwelche Ideen?

%Vor%

Sowohl _tumblrLogin als auch _tumblrPassword werden an anderer Stelle in meinem Code durch stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding ausgeführt. Meine Login-E-Mail hat die Form "Adresse + [email protected]". Es funktioniert gut für die Anmeldung direkt in Tumblr, aber ich frage mich, ob das "+" - Zeichen Probleme mit der Codierung verursacht? Es wird nicht entkommen. Sollte es sein?

Dank Martins Vorschlag benutze ich jetzt CFURLCreateStringByAddingPercentEscapes , um meinem Login und Passwort zu entkommen. Ich habe immer noch das gleiche Problem, aber meine Authentifizierung schlägt fehl.

    
kubi 24.02.2010, 12:53
quelle

2 Antworten

22

Das Problem besteht darin, dass Sie keine ordnungsgemäße HTTP-POST-Anfrage erstellen. Eine POST-Anforderung erfordert einen ordnungsgemäß formatierten mehrteiligen MIME-codierten Textkörper, der alle Parameter enthält, die Sie an den Server senden möchten. Sie versuchen, die Parameter als HTTP-Header festzulegen, die überhaupt nicht funktionieren.

Dieser Code wird tun, was Sie wollen, beachten Sie insbesondere die NSString -Kategorien, die eine gültige Multipart MIME-Zeichenfolge erstellen:

%Vor%     
Rob Keniger 24.02.2010, 22:47
quelle
0

Wie in den Antworten zu diese Frage , stringByAddingPercentEscapesUsingEncoding: führt keine vollständige Escape-Codierung durch. Aus welchem ​​Grund auch immer, die CoreFoundation-Version dieser Methode tut jedoch:

%Vor%

Sie können auch die Methode replaceOccurencesOfString:withString:options: von NSMutableString verwenden, um die Ersetzung manuell durchzuführen. Diese Methode ist jedoch wiederholender und ausführlicher. ( Siehe hier .)

    
Martin Gordon 24.02.2010 14:59
quelle