記事検索

検索ワードを入力してください。
Sky Tech Blog
【PowerShell】PowerShellで​簡易的な​Webアプリを​動かす

【PowerShell】PowerShellで​簡易的な​Webアプリを​動かす

SKYSEA Client Viewのログ取得やアラート機能を検証するため、PowerShellの「HttpListener」クラスを用いて簡易的なWebサーバーを構築した事例を紹介します。生成AIを活用してスクリプトを作成し、外部サイトにアクセスすることなく安全な検証環境を実現しました。

私はSky株式会社でSKYSEA Client Viewのプリセールス業務を担当しています。

業務の中でお客様からのお問い合わせへ回答するため、自社商品の動作検証を行うことがあるのですが、先日Webサイトへのファイルアップロードや書き込みのログ取得を行う機能の検証を行う機会がありました。

検証を行うには実際にWebサイトへのファイルアップロードや書き込み操作を行わなければなりませんが、実際に外部サイトに対してそのような操作を行うのは問題があります。
そこで、最も手軽なのが、検証用のWebサーバーを作って、アップロードや書き込みを行うことなのですが、環境構築が大変ですし、Webアプリケーションを動かすためにフリーウェアをインストールする際は、別途社内規定に沿った確認も必要です。
そこで思いついたのが、「PowerShellでWebサーバーを動かせないか」というものでした。
OS標準で搭載されているPowerShellなら、各種社内ルールの確認も不要だからです。

調べてみると、PowerShellでは「HttpListener」というクラスを使って簡易的なWebサーバーが作成できるようです。
この「HttpListener」はもともと.NET Frameworkのクラスなのですが、PowerShellでも使える、ということなのだそうです。

パフォーマンスやセキュリティなど、実際のシステムを動かすには課題点もありますが、やりたいことはファイルをアップロードしたり、文字列を書き込んだりした際のログの出方を確認することだけなので、これでも問題ありません。

Sky株式会社では会社で契約したGemini Enterpriseを利用できますので、お願いして書いてもらいました。

書いてもらったスクリプトをPowerShellで実行します。

今回は「http://localhost:8080」でリッスンするようにしているので、ブラウザでアクセスします。

SKYSEA Client ViewのWebアップロードアラート機能を有効にした状態でファイルのアップロードを試したら、ちゃんとアラートが出てくれました。

文字列を書き込んでみます。

SKYSEA Client View上でちゃんとログが記録されました。

これでやりたかった、外部のサイトに書き込みやファイルアップロードをせず、SKYSEA Client Viewのログ管理機能やアラート機能の検証を行うという目的は達成できました。

実際のコードは生成AIで生成したもののため、公開は差し控えさせていただきますが、今回は「HttpListener」クラスを使ってWebサーバーを立ち上げ、次のような挙動をさせることで実現しています。

  1. ブラウザからGETリクエストによるアクセスを受けたら、HTMLを返してアップロードページを表示させる。
  2. ブラウザからPOSTメソッドでデータを受信したら、書き込まれた文字列やアップロードされたファイルを受け取る。

検証環境でフリーウェアなどを使わずに、簡易的なWebシステムを作りたいといった場合のご参考になれば幸いです。


\シェアをお願いします!/
  • X
  • Facebook
  • LINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム