SQLの窓

2014年07月25日


VS2010(C#) : HttpWebRequest クラスを使用して WEBアプリにバイナリデータを POST する

C# のコンソールアプリケーションで一般的に WEB アクセスする為に、HttpWebRequest クラスを使用します。

非同期ですと、いくぶん面倒ですが同期処理だと単純です。ここを参考に PowerShell でも利用できると思います。

▼ 以下関連する近い処理
VS2010(C#) : COMの Msxml2.ServerXMLHTTP を使用して WEBアプリにバイナリデータを POST する

C# ソースコード
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;

namespace PngUpload2 {
	class Program {
		static void Main(string[] args) {

			HttpWebRequest myReq =
			(HttpWebRequest)WebRequest.Create("http://yourdomain/put/put.php");

			// ****************************
			// ファイルを読み込む為のオブジェクト
			// ****************************
			FileStream fs = new FileStream(
				@"C:\user\web\web\various\put\winofsql.png",
				FileMode.Open, FileAccess.Read);

			// ****************************
			// ファイルを読み込むバイト型配列
			// ****************************
			byte[] bs = new byte[fs.Length];
			// ファイルの内容をすべて読み込む
			fs.Read(bs, 0, bs.Length);
			// 閉じる
			fs.Close();

			myReq.Method = "POST";
			//POST送信するデータの長さを指定
			myReq.ContentLength = bs.Length;

			// ****************************
			// データを書き込む
			// ****************************
			Stream reqStream = myReq.GetRequestStream();
			reqStream.Write(bs, 0, bs.Length);
			reqStream.Close();

			// ****************************
			// 結果を取得
			// ****************************
			WebResponse myRes = myReq.GetResponse();
			Stream resStream = myRes.GetResponseStream();
			StreamReader sr = new StreamReader(resStream, Encoding.UTF8);
			Console.WriteLine(sr.ReadToEnd());
			sr.Close();

			Console.ReadLine();

		}
	}
}

PHP 側については、『VBscript(または JScript) で簡単にバイナリファイルをアップロードする』 を参照して下さい。


関連する記事


タグ:C# framework HTTP
【VS(C#)の最新記事】
posted by lightbox at 2014-07-25 18:15 | VS(C#) | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり