喫茶XRAYトップページ

[スレッド全体
]

[11010] HTTPSサイトからのダウンロード返信 削除
2017/4/3 (月) 07:44:39 Mr.XRAY
以下の記事を修正しました.
ダウンロードすべき DLL のバージョンが 64 ビット版になっていました.
おそらく 64 ビットの EXE でテストしたので間違えたのかも.
説明通りに DLL をダウンロードした方,ゴメンナさい.

[07_HTTPS サーバへのアクセス]
http://mrxray.on.coocan.jp/Delphi/plSamples/772_Indy_HTTPGet.htm#07

以下の書き込みがあったので気づいたのですが,
Delphi 6 ですから 32 ビットの EXEであることは間違いないでしょう.

[TIdHTTPの使用]
http://www.freeml.com/delphi-users/4649/latest


[11017] Re:HTTPSサイトからのダウンロード返信 削除
2017/4/3 (月) 20:21:11 Mr.XRAY
> Delphi 6 ですから 32 ビットの EXEであることは間違いないでしょう.

調べたのですが,残念ながら Delphi 6 では無理のようです.
Delphi 6 で使用可能な Indy は Ansi 版としての最終バージョン 10.2.3
なのですが,10.2.3 で使用可能な DLL がダウンロードできなくなっています.

[772] [07] の記事を書いた時は,Indy 9 でも使用可能な DLL がダウンロード
できたハズだったのですが...

また,今現在の調査では,Indy 10.2.3 もダウンロードできないようです.


[11018] Re2:HTTPSサイトからのダウンロード返信 削除
2017/4/3 (月) 21:23:12 Mr.XRAY
> なのですが,10.2.3 で使用可能な DLL がダウンロードできなくなっています.

本日現在入手可能な DLL は Indy 10.5.5 以上用のようです.
ちなみに Delphi 10.1 Berlin Starter の Indy は 10.6.2 です.



[11021] Re3:HTTPSサイトからのダウンロード返信 削除
2017/4/4 (火) 08:43:54 Mr.XRAY
> また,今現在の調査では,Indy 10.2.3 もダウンロードできないようです.

以下が 10.2.3 がダウンロードできた SVN です.
(ユーザアカウントは Indy-Public-RO パスワードは空白)
すくなとも 2015年03月02日には 10.2.3 が入手できました.

https://svn.atozed.com:444/svn/Indy10/

昨日現在,tags にあるバージョンは下図のようになっています.


[11022] Re4:HTTPSサイトからのダウンロード返信 削除
2017/4/4 (火) 09:09:37 Mr.XRAY
>[TIdHTTPの使用]
>http://www.freeml.com/delphi-users/4649/latest


DEKO さんが, Internet Archive からダウンロードのことをレスしています.
[772] の記事に追加するかどうかは考え中です.
私も Internet Archive をみたのですが,Tiburon の文字が入っていたので...
個人的には Delphi 6 とかの方には諦めて頂くのいいのかな,と (^^;


[11025] Re5:HTTPSサイトからのダウンロード返信 削除
2017/4/4 (火) 09:49:22 Mr.XRAY
> [772] の記事に追加するかどうかは考え中です.

以下の [備考] に追加しておきました.
なんか,サイトの記事中に Internet Archive へのリンクが増えてしまったなぁ(笑)

[07_HTTPS サーバへのアクセス]
http://mrxray.on.coocan.jp/Delphi/plSamples/772_Indy_HTTPGet.htm#07

[11030] Re6:HTTPSサイトからのダウンロード返信 削除
2017/4/4 (火) 13:24:15 Mr.XRAY
> [07_HTTPS サーバへのアクセス]
> http://mrxray.on.coocan.jp/Delphi/plSamples/772_Indy_HTTPGet.htm#07


[備考] の文章を書き換えました.
『Delphi 2007 以前では使用でき...』
と書いていましたが,使用できないと決め打ちにすると語弊があるので.
どうにでも,あるいは読んだ方が自由に解釈可能な文章にしてみました.


[11036] Re7:HTTPSサイトからのダウンロード返信 削除
2017/4/5 (水) 18:04:54 taka
▼ Mr.XRAYさん
> > [07_HTTPS サーバへのアクセス]
> > http://mrxray.on.coocan.jp/Delphi/plSamples/772_Indy_HTTPGet.htm#07
>
> [備考] の文章を書き換えました.
> 『Delphi 2007 以前では使用でき...』
> と書いていましたが,使用できないと決め打ちにすると語弊があるので.
> どうにでも,あるいは読んだ方が自由に解釈可能な文章にしてみました.


Indy最新版(10.6.2)は、古いDelphiでも動きます。

・IndyのバグでIndy最新版を古いDelphiでコンパイルできない期間がしばらくありました
  2015年末くらいからは、コンパイルできています
・ライブラリのパスが間違っている
・コンポーネントパレットが古いバージョンになっている
・Indyの仕様が途中でが変わったので、
  それにあわせて使用しているIndy関数の引数を変更してないため
  アプリのコンパイラエラーになっている
・IndyのバージョンとopensslのDllのバージョンの選択が間違っている
・  windowsフォルダやPATH変数に古いopensslのDllが混ざっている
・  アプリのフォルダに違うバージョンのopensslのDllが混ざっている
のいずれかの理由で 古いDelphiで最新版のIndyが動かないと騒いでいるだけではないでしょうか

●Indy 10.2.3
ローカールにクローン同期しているリポジトリで
branches,tagsの履歴を見ましたが10.2.3の痕跡はないようです。
古いIndyは、trunk にひたすらコミットされていく習性があったので trunkから拾ってはどうでしょうか

trunk/Lib/System/IdVers.incの履歴によると
2444で10.2.3になり
4394で10.2.3から10.5.6に代わっています。
svn checkout https://svn.atozed.com:444/svn/Indy10/trunk indy10.2.3 -r 4393
とすると
最後の10.2.3を取得できます
取得したバージョンから最終コミットを表示すると最後のリビジョンがわかります。
svn log -l 1
とすると
r3962  2009-12-25 15:21:33 +0900 (2009年12月25日 (金))
になりますので10.2.3の最終リビジョンは、3962になります。
(3963-4393は、trunk以外のほかのフォルダにコミットされているので 同じものが返ってきます。)

10.2.3 の範囲 : リビジョン: 2444 - 3962
svn checkout https://svn.atozed.com:444/svn/Indy10/trunk indy10.2.3 -r 3962


●Indy最新版を古いDelphiで使う方法

HDDを探すと捨てたと思っていたDelphi6 personalのインストーラーが残っていたので
Delphi6をWin10にインストールしてみました。

delphi6でも"Indy 10.6.2 - Berlin RTM" を使えるようです

持っていない場合はダウンロードします。
svn checkout "https://svn.atozed.com:444/svn/Indy10/tags/Indy 10.6.2 - Berlin RTM" indy10

(1) 管理モードで コマンドを開く
(2) Indyのフォルダに移動して、コンパイルする
cd indy10\Lib
set path="C:\Program Files\Borland\Delphi6\Bin";%path%
@rem Delphi6用にIndyをコンパイルします
Fulld_6.bat

(3) Delphi6を起動し、コンポーネントを登録する
自動で登録されていないようなので
コンポーネント パッケージのインストール [追加]
さっきのindy10\D6フォルダへ移動する
CTRL押しながら
dclIndyCore60.bpl
dclIndyProtocols60.bpl
を選択して 開く をクリック

OKで閉じる

ブラウザ検索パス
 必要に応じてソースコードフォルダを追加してください。(指定しなくても動きます。)


以上で設定は終わりです

テスト indy https

Delphi6 - 新規
パレットから TIdHTTP, TIdSSLIOHandlerSocketOpenSSL,TButtonを貼り付けたあと
以下のコードを貼り付けます。
※ getversion()関数は DelphiのVersionをわかりやすくするため簡易で作りました。

uses IdGlobal;

function getversion() : String;
  var s : String;
      i : Integer;
begin
  Result := 'VER' + IntToStr(Trunc(System.CompilerVersion*10));
  with TIdHTTP.Create(nil) do
  try
    try
      s := Get('http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Compiler_Versions');
    except
      Exit;
    end;
    i := Pos(Result, s);
    if (i>0) then
    begin
// VERxxx</p></td><td><p>名前</p>
      s := Copy(s, i + Length(Result), Length(s));
      i := Pos('<p>', s);
      if (i>0) then
      begin
        s := Copy(s, i + 3, Length(s));
        i := Pos('</p>', s);
        if (i>0) then
        begin
          Result := Trim(Copy(s, 1, i-1)) + ' : ' + Result;
        end;
      end;
    end;
  finally
    Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
  var url, s : string;
begin
  url := 'https://www.google.co.jp/';
  IdHTTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
  s := Format('CompilerVersion %s',[getversion()]) + sLineBreak
     + Format('Indy gsIdVersion %s',[gsIdVersion]) + sLineBreak
     + Format('IdHTTP1.Get(''%s'')', [url]) + sLineBreak;
  try
    s := s + Copy(IdHTTP1.Get(url), 1, 21) + '...';
  except on E: Exception do
    s := s + E.Message;
  end;
  ShowMessage(s);
end;

実行結果
CompilerVersion Delphi 6 / C++Builder 6 : VER140
Indy gsIdVersion 10.6.2.0
IdHTTP1.Get('https://www.google.co.jp/')
<!doctype html><html ...


[11048] Re8:HTTPSサイトからのダウンロード返信 削除
2017/4/7 (金) 18:27:31 taka
▼ takaさん
> (2) Indyのフォルダに移動して、コンパイルする
> cd indy10\Lib
> set path="C:\Program Files\Borland\Delphi6\Bin";%path%
> @rem Delphi6用にIndyをコンパイルします
> Fulld_6.bat


full_d6.bat内でコンパイラのパスを検索して自動設定するようになっていますので
full_d6.batの前の
set path=C:\Program Files\Borland\Delphi6\Bin;%path%
は不要でした。

full_d6.batは、*.bplをシステムにコピーするようになっているようです。
full_d6.bat
・システムフォルダの.bplを差し替える場合
 管理者モードのコマンドプロンプト
・システムフォルダに*60.bplをコピーさせたくない場合
 通常コマンドプロンプト または エクスプローラーからそのままクリック


[11050] Re9:HTTPSサイトからのダウンロード返信 削除
2017/4/7 (金) 19:03:03 Mr.XRAY
▼ takaさん

> full_d6.batの前の
> set path=C:\Program Files\Borland\Delphi6\Bin;%path%
> は不要でした。


えっ ?! おかしいな.
パスの設定なして実行したら,インストールできなかったので,
taka さんのそのままやってみたんですが,操作間違えたかな ?
確認してみます.

> full_d6.batは、*.bplをシステムにコピーするようになっているようです。

個人的にはこれでいいと思っているので,記事の文章はそのままか,
そのことを追加したいと思います.

>  通常コマンドプロンプト または エクスプローラーからそのままクリック

Windows Vista 以降に対応したバージョンの場合,管理者権限でなくても
いいと思うのですが,Delphi 等の旧いバージョンはちょっと問題がある気がします.

Windows Vista 以降に対応したバージョンの Delphi は,
Program Files や システム関係のフォルダ内に,更新可能なファイルが
置かれないようになっています.
そのため,Delphi の IDE を管理者権限で起動しなくても動作します.
(当サイトの記事では管理者権限で起動することを前提に書いていますが)


[11051] Re10:HTTPSサイトからのダウンロード返信 削除
2017/4/7 (金) 19:36:16 Mr.XRAY
> taka さんのそのままやってみたんですが,操作間違えたかな ?
> 確認してみます.


やってみました.
ホント,パスの設定不要ですね.
Windows 8.1 は無傷の Delphi 6 があるのでインストールしてみました.
ハハハッ.なんだったんだろう ?



[▼次のスレッド]
INCM/CMT
Cyclamen v3.82