記事一覧

HTTPクライアントSAORI"chttpc.dll"を試してみた

chttpc.dllというSAORIがCSAORIプロジェクトにてリリースされたそうです。

他にもRoy様作のSAORIがいくつかCSAORIプロジェクトにてダウンロード可能となっています。

chttpc.dllとは何か

続き

HTTPクライアントSAORIで有名なものにhttpc.dllがありますね。
ご存知の方も多いかと思われますが、元々は「里々」の作者である櫛ヶ浜やぎ様の制作されたSAORIで、アンチウイルスソフトにおける誤検出が度々報告され、現在はsatoriya-shioriにてリビルドされたものが配布されています。

とても便利で使いやすいのですが、文字コードがShift_JIS以外対応していないようです。
よく使われる栞はSAORIとの通信をShift_JISで行うものが多いので問題ないのですが(里々、華和梨はShift_JIS、文は自分で設定可能)、UTF-8非対応では非日本語圏で非常に不便です。
この点を改善するためにCSAORIフレームワークを使用して作り直したものがchttpc.dllとなっています。

httpc.dllと変わらない?

文字コードの対応が改善されただけかというとそうではないようです。
readme.txtを見たところ、とても興味深い機能が追加されていました。

Usage:
* No Argument: Check for Internet connection, Return: 1 - OK, 0 - NG
* 1 Argument(URL): download and return contents.
* More than 1 Argument:
 o First one must be URL
 o options afterwards:
  + translate - try to tranlate html to sakura script
  + strip - remove all html tags
  + codepage=<codepage name> - specfiy code page (e.g. big5, x-sjis. 
              chttpc will detect HTML meta charset by default. 50001 for auto detection.)
  + save=<filename> - save downloaded content as "filename" (same place as chttpc.dll)
  + saveUtf8=<filename> - save downloaded content in UTF-8 encoding as "filename" (same place as chttpc.dll, start from b1)
  + saveParsed=<filename> - save parsed content as "filename"(same place as chttpc.dll)
  + start=<string> and end=<string> - return string between start and end
  + hwnd=<hwnd> and id=<string> - Run the job in background. It will notify through DirectSSTP to hwnd 
                                  using OnchttpcNotify event (ref0: id, ref1: content, ref2: url)
  + noOutput - return nothing (start from a2)

translateに関してのサンプルコードがAYAで書かれています。

OnAnchorSelect
{
        _res = FUNCTIONEX("chttpc.dll",reference0,'translate')
        _res;
}

ファイル 49-1.png

balloonがブラウザになってしまいました。
画像の展開やCSSの適用はないので厳密にはテキストブラウザと呼ぶべきでしょうか。
多くのGHOSTではURLアンカーでブラウザを開くことが多いですが、これを使えばブラウザを開くことなくballoonだけでWebページを閲覧できます。
リンクにはアンカータグが置き換えられているので(GHOST側で設定すれば)そのままWebページを遷移して移動していくことも可能です。

Webと連携するGHOSTも珍しくない昨今、WebブラウザとしてのGHOSTの可能性を一気に広げるSAORIとなりそうです。

個人的にGETメソッドだけでなくPOSTメソッドも欲しいです。