今日もガクリ('A`)
きっと明日もまたガクリ?('A`)
2024 / 04
« «  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
Microsoft Update カタログ サイトから情報取得スクリプト Version 0.2.1

概要

Microsoft Update カタログ サイトが Internet Explorer の ActiveX の呪いから開放され、私が使用してる UA Firefox Quantum でもアクセスできるようになったので、ナレッジベース番号(以下、KB番号 と称します) リストを元に情報を取得する PHP スクリプトを作りました

前提動作環境

  • PHP 5.6.37 が動作する事。必要な extension は以下の通りです。7.x 系では確認していません
    • php_mbstring.dll
    • php_exif.dll
    • php_pdo_sqlite.dll
    多分、上記3つの extension があれば動作すると思います…
  • Firefox で Microsoft Update カタログ サイト をアクセスし、Firefox ユーザープロファイルに cookies.sqlite ファイルがある事。つまり、スクリプト内で Cookie を取得するのに、Firefox のユーザープロファイルにある cookies.sqlite から Cookie を取得している為です

制限事項

  • 実際に Microsoft Update カタログ サイトから 更新プログラムをダウンロードするものではありません。当初はこれを前提として考えていましたが、Microsoft Update カタログ サイト 自体が IIS とかいうどうしようもなく遅い Web サーバーで運用されている以上、更新プログラムをダウンロードできる URI を出力するという方向に切り換えました
  • 検索結果が複数ページの際は最初のページが検索対象となります。全てのページから情報を取得して、絞込み検索を行い…と、技術的には可能ですが Microsoft Update カタログ サイト 自体が遅いのと検索結果の次ページを取得するのに POST メソッドを使用しているのですが、Firefox の ウェブコンソールを見て渡しているデータを見て(今は)やる気なくなりました('A`)

ダウンロードとインストール

ようやくまともな形に仕上がったので、正式リリースします。以下のファイルをダウンロードし、適当なディレクトリに解凍します

内容

  • MicrosoftUpdateSearch.php
    スクリプト本体
  • MicrosoftUpdateSearch.ini
    設定ファイル
  • MicrosoftUpdateSearch.h.txt
    HTTP リクエストする際の追加ヘッダーを記述しておくファイル
  • MicrosoftUpdateSearch.List.txt
    実際に情報を取得したい KB番号 を記述したファイル。ファイル名は任意に指定できます

MicrosoftUpdateSearch.h.txt

このファイルはスクリプト本体(MicrosoftUpdateSearch.php) と同じディレクトリに置いておく必要があります

User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
Accept-Language: ja,en;q=0.7,en-US;q=0.3
DNT: 1

このファイルの内容そのものが HTTP リクエストする際のヘッダーとして追加されます。ファイル形式は UTF-8, LF(改行), BOM 無しが望ましいです

MicrosoftUpdateSearch.ini

このファイルはスクリプト本体(MicrosoftUpdateSearch.php) と同じディレクトリに置いておく必要があります

; 初期設定ファイル
;   このファイルは MicrosoftUpdateSearch.php と同じディレクトリある必要があります
;   行頭 ; で始まる行、空行は無視されます
;   設定されるパラメーター名は大文字小文字区別されます

; Microsoft Update カタログ サイト設定
URI          = 'https://www.catalog.update.microsoft.com/'
Serach_URI   = 'https://www.catalog.update.microsoft.com/Search.aspx'
Detail_URI   = 'https://www.catalog.update.microsoft.com/ScopedViewInline.aspx?updateid='
Download_URI = 'https://www.catalog.update.microsoft.com/DownloadDialog.aspx'

; 検索語(主にKB番号) に付与する接尾語
Search_Sufix = ' Windows 7 x64'

; 検索結果を絞り込む為の除外リスト
;   評価優先順位は左から右
;   否定を指定する場合は接頭語に ! を付与する
;   複数指定する場合は , で区切る
;
;   下記の例と言うと、Embedded を含む検索結果は除外され、
;   次に Windows 7 を含まない検索結果が除外されます
Search_ExcludeList = 'Embedded','!Windows 7'

; ログファイルの設定
LogFile = 'MictosoftUpdateSearch.' . date( 'Y-m-d_His' ) . '.log'

; コンソール出力するかどうかの設定 On ならば、コンソール出力される
LogEcho = On

; コンソール出力する際の文字エンコーディング
LogEchoEncode = 'SJIS'

; ログファイルに出力する際の文字エンコーディング
LogFileEncode = 'UTF-8'

; 個々のダウンロード URI に対するログ出力追加オプション
;   使用できる変数は以下に示します
;     $n             改行(0x0d)
;     $KB            ナレッジベース番号(KB番号)
;     $Date          最終更新日時
;     $Title         タイトル
;     $Product       製品
;     $Category      分類
;     $Version       バージョン
;     $Detail_URI    詳細取得先 URI
;     $Description   概要
;     $Detail        詳細
;     $Download_URI  更新プログラムの URI
LogOutOptions = '    <a href="$Download_URI" title="$Detail">$KB</a>$n','    <tr><td><a href="$Download_URI" title="$Detail">$KB</a></td><td>$Detail</td></tr>$n$n'

; ナレッジベース番号(KB番号) を記述したファイル
KB_ListFile = 'MicrosoftUpdateSearch.List.txt'

KB番号 リストファイル

; ナレッジベース番号(KB番号) を記述したファイル
;   このファイルはスクリプトを動かすディレクトリに置きます
;   行頭 ; で始まる行、空行は無視されます

; 複数にまたがって記述する際は以下の様に記述します
KB890830,
KB4344152,
KB4343900',

; 単一行で記述する場合は以下の様に記述します
; , 文字で区切ります
KB2990941,KB3087873,KB2533552,KB2534366,KB2670838,KB2732059,KB2773072,KB2834140

To Do

今後の修正予定です

  • __construct 部分で初期化している変数を外部のファイルから取り込む
  • コマンドラインパラメーター $_SERVER['argv'] を有効活用する様にする
internet, PC, PHP, software, Windowsno commentsno trackbacks(3,569)
contents
most viewed (1182733)
categories
archives
recent posts
recent updates
recent comments
recent trackbacks
912T ASUSTeK ASUSTeK Crosshair IV Extreme blog CSS DARK SOULS DARK SOULS 3 Darksouls3 DarksoulsIII DARK SOULS III DISM Euro Truck Simulator 2 Everquest II firefox foobar2000 game Install internet KB2990941 KB3087873 mod panels ui PCゲーム PHP PX-Q3PE Raid skin SoftBank software SpeedFan Spinel Steam TPS trailer truck TvRock TVTest Windows Windows 7 Win Toolkit WordPress インストール ダークソウルズ 初音ミク 窓辺ななみ
mobile
qrcode:home
profile
曇り札幌市中央区 ‘ 曇り
気温: 10℃ ‘ 湿度: 66%
recommends
Valid XHTML 1.0 Transitional Valid CSS X.X
RSS 2.0 RSS 0.92
RDF/RSS ATOM
get Firefox 2 get Opera
ie