生のバイトのチャンクをボディとして渡すiOS(swift3)からPOSTリクエストを行いたいと思います。私は、私は次のように働いていたと思っ作られたいくつかの実験を行っていた:私は、単一の0xF0のような単純な何かを送信しようとするまでiOS 2進体でのスウィフトポストリクエスト
let url = URL(string: "https://bla/foo/bar")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.httpBody = Data(hex: "600DF00D")
let session = URLSession.shared
let task = session.dataTask(with: request) { (data, response, error) in
"DATA \(data ?? Data()) RESPONSE \(response) ERROR \(error)".print()
}
task.resume()
は、それが問題だった知りませんでした。どの時点で私の竜巻サーバーは私がそれを送っていると不平を言った
WARNING:tornado.general:Invalid x-www-form-urlencoded body: 'utf-8' codec can't decode byte 0xf0 in position 2: invalid continuation byte
私はちょうどいくつかのヘッダーを設定すると思いますか?それとも私は何か別のものがありますか?
Base64は本当に効率的ではありませんが、最終的にはhttp-villeのテキストストリームが決してそれほど効率的ではないと判断しました。また、バイナリデータをbase64バージョンに変換するコードは1行です。私はボディではなく、URLで使用しているので、私は逃げる必要もありません。 –