2010/06/28 : 更新 POST(ファイルアップロードを含む) 処理に対応しています。単純な処理だと二つ問題が出たので、POST でうまく動かない場合がありました。 IE はヘッダ部分とデータ部分を分けて送信するようなのですが(必ずではありませんが、高い確率でそうなるようです)、ヘッダ部分が短い為、次のStream の読み込みでデータが残っているのに取得できないと言う現象が起こりましたので、二回目以降の Stream の読み込みの前で Sleep を追加しました。 また、データが完全に無いのにも関わらず、Stream を読んでしまうと戻って来ないので、読む前にデータが存在するかどうかをチェックするようにしました。これは、データの完全な終了は、やはり Content-Length を使う事でしか確実にならないと言う事も解りました。 ※ このアプリケーションでは、Content-Length を使用していません ※ cURL を使用してアップロードする場合は、以下のオプションを設定して下さい curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:')); 以下は cURL でファイルをアップロードしたところです 切りのいいところで受信バイトが変化していますが、必ずこうなるわけではありませんし、クライアントのアプリによっても違います。 関連する記事 ファイルアップロード 以下は通常の呼び出しです。ブラウザから呼び出すと、たびだびサイトのお気に入りのアイコンを読み出そうとしますので注意して下さい。ブラウザでダウンロード
VB.net : クライアントが送ったヘッダを表示するだけの HTTPサーバー( TcpListener ) では、スレッドを使ったり表示部分に無駄が多かったりしたので、修正して機能追加しました ソースコード VB.net : クライアントが送ったヘッダを表示するだけの HTTPサーバーU 2010/06/23 更新分 ※ Expires: -1 でキャッシュ制御( ブラウザ用 ) ※ データ表示を受信全体から一気に表示 ※ バッファを 1024 から 4096 に変更 ※ 使用ポートを第一引数に指定可能 ※ サーバーがすべてのネットワークインターフェイスで ※ クライアントによるネットワーク利用を待機する
|
【VB.NET : 通信の最新記事】
- VB.net(2010) : COMの Msxml2.ServerXMLHTTP を使用して WEBアプリにバイナリデータを POST する
- VB.net : TKFP.DLL 1.4.3 を使って FTPS でファイル(フォルダ)の一覧を取得する
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して Google のURL短縮サービスを使用する( JSON )
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して URL短縮サービス[bit.ly] を使用する( XML と TEXT )
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して URL短縮サービス[p.tl] を使用する( JSON )
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して WEBアプリにデータを POST する
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して http 通信を行う
- VB.net : IPアドレスを IPv4 と IPv6 に区別して取得する
- Json.NET を使用して JSON 文字列を VB.net で使用する( 逆シリアライズ )
- VB.net : クライアントが送ったヘッダを表示するだけの HTTPサーバー( TcpListener )
- VB.NET : TKMP.DLL でメール送信