2017-09-02 6 views
0

httpリクエストを理解しようとしていますが、リクエスト本文のpostメソッドを使用してデータの文字列を送信すると、HTTPを使用してhttpを使用してファイルイメージを送信するときの外字

--------------------------d74496d66958873e 
Content-Disposition: form-data; name="person" 

anonymous 
--------------------------d74496d66958873e 

しかし、我々はPOSTメソッドを使用してファイルを送信する場合、それはこのようになります::以下

--------------------------d74496d66958873e 
Content-Disposition: form-data; name="fileToUpload"; filename="icon.png" 
Content-Type: image/png 

-O9†q#ë#ÞÿËà3l†v}uá#t(<‡c3f 
úS©59ñõCáa#Ž¡#Za%ð.ž zxý˜F#ZqÄð&^ 
jx[1…ÕЊËÂ$Æ‚#Þ 

--------------------------d74496d66958873e 

私の質問は次のとおりです。

  1. --------------------------ファイルを送信するときにd74496d66958873eに含まれる外国文字は何ですか? iは平均

    -O9†Q#ë#ÞÿËà3l†V} UA#1 T(<‡C3F 米国©59ñõCáa#Ž¡#ザ%ð.žzxý~F#ZQAD &^ JX [1 ... ÕЊËÂ$Æ、#1Þ

  2. 文字がバイナリ、ヘキサ、またはBASE64または何であるか?

  3. 我々はプログラミング言語を使用して、手動でHTTPリクエストを書きたい時に文字にイメージファイルを変更する方法?

+0

プレーンバイナリにファイルの画像を変換する方法を、 –

+0

代わりに、マルチパート/フォームdata' 'てみてくださいプログラム言語を使用してバイト? –

+0

@Danielステンバーグものです、はい私が行われ、制限の中で奇妙なcharakterを発見した –

答えて

0

これらはプレーンバイナリバイトです。ファイルicon.pngがHTTPクライアントから送信されたときに含まれていたすべてのバイト。

フォーマットは基本的にRFC 1867に記載されているが、このように動作します:

--[boundary] 
[headers] 

[N bytes] 
--[boundary] 
[headers] 

[M bytes] 
--[boundary]-- 

が、あなたはヘッダを解析し、境界を超えて解析する必要があります、内容を抽出するには(0、1または多数)、その後、終了境界に達するまでバイナリデータを読み込みます。 (最後の境界線には右に2つの余分なダッシュがあります)

...このような部分は、1つのマルチパートPOSTで任意の量だけ使用できます。

+0

タンク@Danielステンバーグ私を助けてください、それは –

関連する問題