プロキシサーバーを14行で作る ~Delphiソースコード集
1.プロジェクトの作成
ファイル⇒新規作成⇒Windows VCL アプリケーション -Delphi
をクリックします。
2.プロジェクトの保存
ファイル⇒すべて保存、またはすべて保存ボタンを押して、プロジェクトとユニットを保存します。
「新しいフォルダ」ボタンを押して「proxy」フォルダ等を作成し、ユニットはデフォルトの「Unit1.pas」、プロジェクトは「proxy.dproj」で保存します。
3.コンポーネントのドラッグ&ドロップ
TIdHTTPProxyServer(コンポーネントパレットの検索ボックスにproxyと入力して検索してもよい)をフォームにドラッグ&ドロップします。
同様にTEditとTButtonをフォームにドラッグ&ドロップします。
4.プロパティの設定
フォームのEdit1をクリックして選択し、オブジェクト インスペクタのプロパティの
NumbersOnlyをTrue、Textを8808 に設定します。
同様にButton1のプロパティのCaptionを「Proxy起動」に設定し、ボタンの幅を少し広くします。
5.ソースコードの記述
Button1をダブルクリックします。
以下の赤字の部分のソースコードを記述します。
procedure TForm1.Button1Click(Sender: TObject);
begin
if IdHTTPProxyServer1.Active then
begin
IdHTTPProxyServer1.Active:=False;
Button1.Caption:='proxy起動';
Edit1.ReadOnly:=False;
end
else
begin
IdHTTPProxyServer1.DefaultPort:=
StrToIntDef(Edit1.Text,8808);
IdHTTPProxyServer1.Active:=True;
Button1.Caption:='proxy停止';
Edit1.ReadOnly:=True;
end;
end;
6.完成したアプリケーションを起動する
Proxyサーバーが完成したので、
実行⇒実行 又はツールバーの「?」ボタンを押して実行します。
7.プロキシサーバーを起動する。
「Proxy起動」ボタンをクリックします。
以下のウィンドウが表示(Windowsファイアーウォールのブロック)された場合は
「アクセスを許可する」ボタンを押して8808ポートのオープンを許可します。
8.Chromeをプロキシサーバー経由でインターネットに接続する。
Chromeを起動し、設定⇒詳細設定⇒プロキシ設定を開く をクリックします。
インターネットのプロパティ ウィンドウが表示されたら「LANの設定」ボタンをクリックします。
ローカル エリア ネットワーク(LAN)の設定 ウィンドウが表示されたら
「LANにプロキシ サーバーを使用する」にチェックを入れ、
「アドレス」に localhost と入力し、
「ポート」に 8808 と入力し、「OK」ボタンをクリックします。
ブラウザにプロキシ設定ができたので、プロキシ経由でインターネットに接続できることを確認します。
ブラウザのURLに https://www.google.co.jp/ を入力して表示されることを確認する、
「proxy停止」ボタンを押して、ブラウザの再読み込み(F5キーを押す等)を行うと、インターネットに接続できなくなることを確認します。
上記ソースコード、コンパイルしたEXEファイル一式ダウンロード
コンパイルしたEXEファイルのみダウンロード
プロキシサーバーのログ
Form1にTMemoをドラッグ&ドロップして、IdHTTPProxyServer1の「OnBeforeCommandHandler」イベントをダブルクリックして以下のソースコードを記述すれば、 Memo1にログが表示されるようになります。
procedure TForm1.IdHTTPProxyServer1BeforeCommandHandler( ASender: TIdCmdTCPServer; var AData: string; AContext: TIdContext); begin Memo1.Lines.Add(AData); end;