2017-01-20 13 views
2

私はnodejsで書いたREST APIにPOSTするために次のように書いています。しかし、私はサーバー側で応答を得ています。POSTでX-WWW-form-urlencodedをREST APIにリダイレクトする方法3

func login() 
{ 
    let u = UserDefaults.standard.value(forKey: "userIP")! 
    let url_to_login = "http://\(u)/users/authenticate" 

    let url:URL = URL(string: url_to_login)! 

    let request = NSMutableURLRequest(url: url) 

    let postDataString = "tag=name:[email protected]&password:password" 
    let postData:NSData = postDataString.data(using: String.Encoding.ascii)! as NSData 
    request.httpMethod = "POST" 
    request.httpBody = postData as Data 
    request.setValue("application/x-www-form-urlencoded; charset=utf-8", forHTTPHeaderField: "Content-Type") 


    print(url_to_login) 

} 



//button actions 

@IBAction func Submit(_ sender: UIButton) { 

    login() 
} 

このPOSTは、2つのタグをx-www-form-urlencodedとして送信して、代わりにトークンを取得する必要があります。私は他のメソッドを公開していますが、これはサーバ側で何かをする指示を与えません。

ありがとうございます。

let postDataString = "tag=name:[email protected]&password:password" 

この試してみてください:

let postDataString = "[email protected]&password=password" 

注:

+0

として、それを変換します何も投稿していないので、リクエストの内容を設定するだけです。このリクエストは転記に使用する必要があります。これは実装する必要がある次のステップです。 :) – Moritz

+0

@EricAyaは理解しています!私の愚かな間違い。私は今、しかし、認証が失敗した、私は正しい方法でデータを送信ですか? – CS456

+1

質問を更新して_nowを含むようにしてください。ただし、認証は失敗しました_コードを取得してください。あなたがデータなしで正しい方法でデータを送信しているかどうかは、誰も確認できません。 – OOPer

答えて

2

あなたは身体ではなく

間違って見えます投稿あなたはcharset=utf-8としてデータを送信するが、あなたはString.Encoding.ascii

関連する問題