- PR -

WEBサーバーとのやりとりの自動化

1
投稿者投稿内容
チャベス
会議室デビュー日: 2005/03/08
投稿数: 14
投稿日時: 2005-03-08 12:52
みなさんこんにちは

WEBサーバーへCSVファイルを転送する仕組みを実装することになりました。

1.送信クライアントから、CSVファイルをWEBサーバーにアップロード

2.アップロードには、HTTPS通信を使用。

3.WEBサーバー認証は、FORM認証(ユーザID/パスワード固定)

4.アップロード後、データベースにファイルデータを登録。
(既に実装すみ)



1〜4の仕組みを、手作業なしの自動実行で実現は可能でしょうか?
(ユーザーがブラウザを使用して行う代わりに、自動実行を考えています。)


Visual Basic 6.0 または、.Netでの開発を考えています。

私としては、HTMLファイル内に、WEBサーバーへのリクエストと
リクエスト結果の受け取りといった処理をJAVASCRIPT等で記述する方法を

Visual Basic等のツールでどう作りこんでいくかが

よく分からない点で悩んでいます。


送信クライアント
Windows 2000 pro

サーバー
Windows 2000
某WEB アプリケーション サーバ使用
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-03-08 16:09
「JAVASCRIPT等で記述する方法を Visual Basic等のツールでどう作りこんでいくか」というのが意味がわからなかったのですが、最終的な成果物としては JavaScript をイメージしているのでしょうか?
JavaScript だけでローカルのファイルを自動的にアップロードしてしまうような仕組みは作れません。ローカルのファイルを勝手にアップロードされてしまってはセキュリティ上支障がありますので。

VBや.Netを使った場合はソケットや適切なライブラリを使うことで実装できるかと存じます。具体的にどうすれば良いかわからないのであればも.Netの掲示板に質問してみてはいかがでしょうか?
http://www.atmarkit.co.jp/bbs/phpBB/viewforum.php?forum=7

なお、Javaの世界になりますが JMeter を使えばプログラミングレスで実現できます。(特にJavaの知識は必要ありません)
http://jakarta.apache.org/jmeter/
チャベス
会議室デビュー日: 2005/03/08
投稿数: 14
投稿日時: 2005-03-09 10:56
インギさんありがとうございました。
.Netの掲示板でも聞いてみます。
PAL
ベテラン
会議室デビュー日: 2002/11/14
投稿数: 63
投稿日時: 2005-03-20 19:10
引用:

インギさんの書き込み (2005-03-08 16:09) より:
いくか」というのが意味がわからなかったのですが、最終的な成果物としては JavaScript をイメージしているのでしょうか?
なお、Javaの世界になりますが JMeter を使えばプログラミングレスで実現できます。(特にJavaの知識は必要ありません)
http://jakarta.apache.org/jmeter/


割り込みで申し訳ありません。
Jmeterを推薦されていますが、JMeterはテスト負荷ツールですよね。
この場合、テスト計画を保存したとしても、自動で実行するアプリケーションとはいえないような気がします。

と、言う事でJavaで上記を実装しようとするとどうなるのかなー、と考えてみたんですが、

SWTでcommonsを駆使して実装?
commons-httpclient,commons-io,commons-netあたりか・・・
しかし、Javaプログラムのサービス化って簡単なんだっけ?
辺りでめげてしまいました。

Javaでやろうとすると、どうなんでしょうか?
皆さんのご意見を頂ければ幸いです。
ひら
ぬし
会議室デビュー日: 2005/03/04
投稿数: 260
投稿日時: 2005-03-23 10:36
引用:

PALさんの書き込み (2005-03-20 19:10) より:
Javaでやろうとすると、どうなんでしょうか?
皆さんのご意見を頂ければ幸いです。



私もWeb上での作業の自動化に取り組んでおります。
Javaには、URLConnectionやHttpURLConnectionといった
クラスが存在しますので、それを利用すればPure Javaで
作れそうです。とりあえずFORM認証には成功しました。


引用:

PALさんの書き込み (2005-03-20 19:10) より:
しかし、Javaプログラムのサービス化って簡単なんだっけ?
辺りでめげてしまいました。



サービス化というのは、NTサービスということでよろしいで
しょうか?
それでしたら、フリーで「みどりちゃんソフト」という
のが存在します。WMidoriService (Win32App Midori Service)
というのがそれです。

http://www003.upp.so-net.ne.jp/midori/midosoft.ja.html

ひら
ぬし
会議室デビュー日: 2005/03/04
投稿数: 260
投稿日時: 2005-03-24 19:38
とりあえず、HTTPSではなくHTTPですが、
(しかもJAVAで)サンプルコードを作成いたしました。
参考にしていただければ幸いです。
拙いコードですので、読みづらいところや誤りなども
あるかと思われます。そのときはご容赦ください。
URLやIDは適当です。

-------------------------------------------------------------
import java.net.*;
import java.io.*;


class autoweb extends Thread
{
public static void main(String[] args) {

Thread thread = new Thread(new autoweb());
// スレッドを開始
thread.start();

}

public void run() {

StringBuffer sHTML = new StringBuffer();

String buffer = ""; // WEBサーバに転送するバッファ

try
{
////////////////////////////////
// ログインページを表示する //
////////////////////////////////

String sURL = "http:// 〜 /login.html"; // ログインページのURL

//
// WEBサーバと通信をする(POST)
URL url = new URL(sURL);
URLConnection URLConn = url.openConnection();
URLConn.setDoInput(true); // 入力可
URLConn.setDoOutput(true); // 出力可
URLConn.setUseCaches(false); // キャッシュ不可
URLConn.setRequestProperty("Content-type","application/x-www-form-urlencoded");
URLConn.setRequestProperty("Content-length","" + buffer.length());
URLConn.connect(); // 接続


BufferedReader reader =
new BufferedReader(
new InputStreamReader(
URLConn.getInputStream() ) );
String line = "";
while (line != null)
{
line = reader.readLine();
System.out.println(line);
}
reader.close();

// 1秒間の待機
sleep(1000);


//////////////////////////
// FORMログインをする //
//////////////////////////
// POST用URL
sURL = "http:// 〜 /certify.html"; // 認証ページのURL

//
// WEBサーバと通信をする(POST)
url = new URL(sURL);
URLConn = url.openConnection();
URLConn.setDoInput(true); // 入力可
URLConn.setDoOutput(true); // 出力可
URLConn.setUseCaches(false); // キャッシュ不可
URLConn.setRequestProperty("Content-type","application/x-www-form-urlencoded");
URLConn.setRequestProperty("Content-length","" + buffer.length());
URLConn.connect(); // 接続

// ID、パスワードを設定する
buffer = "ID=01234&PASS=ABCDE";

// バッファの出力
DataOutputStream out = new DataOutputStream(URLConn.getOutputStream());
out.writeBytes(buffer);
out.flush();
out.close();


//
// POSTコマンドを発行したので、次にその結果を
// 読み込む。
//
reader =
new BufferedReader(
new InputStreamReader(
URLConn.getInputStream() ) );
line = "";

while (line != null)
{
line = reader.readLine();
System.out.println(line);
}
reader.close();


} catch (Exception e)
{
e.printStackTrace();
}
}
}
PAL
ベテラン
会議室デビュー日: 2002/11/14
投稿数: 63
投稿日時: 2005-03-25 13:44
引用:

ひらさんの書き込み (2005-03-24 19:38) より:
とりあえず、HTTPSではなくHTTPですが、
(しかもJAVAで)サンプルコードを作成いたしました。
参考にしていただければ幸いです。



ありがとうございます。
参考にさせて頂きます。m(__)m
1

スキルアップ/キャリアアップ(JOB@IT)