最終更新日 2024-09-25

「hmV8」の例題 Webデータの取得

概要

hmV8の例題のひとつとなります。

Webデータの取得

C#で利用するのと、全く同一です。

#JS = loaddll( hidemarudir + @"\hmV8.dll" );

// 読み込むアドレスを変数に設定
$targeturl = "http://www.yahoo.co.jp";

// WebClientを利用して、簡単に取得できる。
// 正規表現の利用なども。
#_ = dllfuncw(#JS, "DoString", R"JS(

// 最近はWeb側で新しいプロトコルでないと受け付けない。Tls12以上を求められることが多い。
clr.System.Net.ServicePointManager.SecurityProtocol = clr.System.Net.SecurityProtocolType.Tls13;

let web = new clr.System.Net.WebClient();

// 秀丸マクロの$targeturlからコピー
let targeturl = hm.Macro.Var["$targeturl"];

let content = web.DownloadString(targeturl);


// 適当に正規表現の実験。タグらしきものの間に■を埋め込む
content = clr.System.Text.RegularExpressions.Regex.Replace(content, ">(<[a-zA-Z])", ">■$1" );

// 秀丸の変数へと伝搬
hm.Macro.Var["$content"] = content;
 
)JS"
);

// デバッグモニタに表示
debuginfo 1;
debuginfo $content;
  
// 解放
freedll(#JS);