• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:どうか、POSTでのファイル転送の仕方を教えてください。)

POSTでのファイル転送の方法とは?

このQ&Aのポイント
  • borland C++でhttp通信プログラムを書いているが、POSTを使ってファイルをサーバーに転送する方法が分からない。
  • 現状ではwinsockを利用してファイルを転送しようとしているが、正しい方法かどうか不明。
  • http通信でファイルを転送するにはどうすればよいか、教えていただけないだろうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

お疲れ様です。 同じような質問が2回挙がっているのは何故なのかな? ま、それよりhttpのpostでファイルを送信する場合には、コンテンツタイプやコンテンツサイズが必要だったハズ。 じゃないと、データを受信したhttpdがどこまでがファイルのデータなのか分からないからだよーん。。。。疲れております。 参照URLを貼っておきます。

参考URL:
http://www.tohoho-web.com/ex/http.htm
fzgu1984
質問者

お礼

有難う御座います。 コンテンツタイプにコンテンツサイズですか... コンテンツサイズっていうのは、送りたいファイルのバイトサイズでいいのかなぁ~ まだ、よく分からないので早速、参考URLで勉強させてもらいます。

fzgu1984
質問者

補足

ちなみにファイルの送り方って、どうすればいいんですか? whileでfgetsしてバッファにためて、それをソケットで送ればいいですか?

その他の回答 (2)

回答No.3

おつかれです。 httpプロトコルを使っている限りは、POSTヘッダを送信後、区切り行を送信しファイルの送信を同一ポートで行って良いはずです。 FTPのように、操作とファイル転送で使用するポートが違う仕様ではない。

回答No.1

httpのプロトコルはやったことがないので、POSTとかの送り方は知りませんが…… 通信プロトコルにはレイヤーという概念があります。最下層の物理的な信号の伝送方式から、上位はhttpプロトコルによる情報のやり取りまで何階層にも分かれています。 httpの下位にはTCP/IPというプロトコル層があり、これがインターネットの通信の基礎となってる部分です。そして、TCP/IPの通信を実現するための仕組みがソケット通信です。(厳密にはTCPソケット通信) つまり、http通信はソケット通信の上に乗っかっているので、http通信を行うということはソケット通信の上でhttpのプロトコルに乗っ取ったパケットデータのやり取りをするということにほかなりません。 ま、最近のjavaとか.NETとかの開発環境なら最初からhttp通信の仕組みが用意されているので、ソケットレベルまで意識してプログラミングする必要は無いのですが、純粋なC++の開発環境だとそういうわけにはいきませんね。(C++だってネットを探せば誰かが作ったそれ用のライブラリがあるとは思いますが)

fzgu1984
質問者

お礼

有難う御座います。 ソケットを利用するところまでは、OKなことが確認できたのでよかったです。 もう少し、出来るか頑張って見ます。

関連するQ&A