【WSH】【vbscript】httpアクセスする(msxml)


vbscriptでmsxmlを利用してhttpアクセスする例です。
第一引数はアクセスするURL、第二引数はアクセスした内容を保存するファイル名です。

「Set OBJ_Http = WScript.CreateObject(“MSXML2.ServerXMLHTTP”)」の部分は、
「Set OBJ_Http = WScript.CreateObject(“Microsoft.XMLHTTP”)」としてもアクセス出来ます。

違いについてはMicrosoftのサポート情報を参照して下さい。
http://support.microsoft.com/kb/290761/ja

 


Option Explicit

  Dim OBJ_Args

  Set OBJ_Args = WScript.Arguments

  If OBJ_Args.Count <> 2 Then

    WScript.Echo "Usage: httpget URL Path"
    WScript.Quit 1

  Else

    HttpGet OBJ_Args(0),OBJ_Args(1)

  End If

Sub HttpGet(ByVal STR_URL, ByVal STR_Path)

  Const adTypeBinary = 1 'Binary
  Const adTypeText   = 2 'Text

  Const adSaveCreateNotExist  = 1
  Const adSaveCreateOverWrite = 2

  Dim OBJ_Http
  Dim OBJ_ADO

  Set OBJ_Http = WScript.CreateObject("MSXML2.ServerXMLHTTP")

  Call OBJ_Http.Open("GET", STR_URL, False)

  If Err.Number <> 0 Then

      WScript.Echo "エラー:" & Err.Description
      WScript.Quit 1

  End If

  OBJ_Http.Send

  If Err.Number <> 0 Then

    WScript.Echo "エラー:" & Err.Description
    WScript.Quit 1

  End If

  If OBJ_Http.status <> 200 Then

    WScript.Echo "Return Coad:" & OBJ_Http.status
    WScript.Quit 1

  End If

  Set OBJ_ADO = WScript.CreateObject("ADODB.Stream")

  OBJ_ADO.Type = adTypeBinary
  OBJ_ADO.Open
  OBJ_ADO.Position = 0

  OBJ_ADO.Write OBJ_Http.responseBody
  OBJ_ADO.SaveToFile STR_Path, adSaveCreateNotExist
  OBJ_ADO.Close

  Set OBJ_Http = Nothing
  Set OBJ_ADO  = Nothing

End Sub
VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Windows, WSH , , , , Leave a comment

【Windows】メモ:XMLパーサーのバージョン一覧


Microsoft XML パーサー (MSXML) のバージョン一覧サイトです。

http://support.microsoft.com/kb/269238/ja

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Windows, 雑記 , Leave a comment

【Outlook Express】メールボックスの自動最適化を無効にする


Windows XPなどにインストールされているOutlook Expressは、
起動100回毎にメールボックスの自動最適化が行われます。

この動作が原因でメールボックスが壊れることがあるため、
無効にします。

1.  レジストリエディタを起動する。
「ファイル名を指定して実行」に「regedit」と入力し、実行する。

2. レジストリエディタより、以下のキーまで移動する。
HKEY_CURRENT_USER\Identities\【ユーザID】\Software\Microsoft\Outlook Express\5.0

3.  キーを編集する。
右ペインで「Compact Check Count」というキーがあるので、
削除するか、0にすることでリセットすることができます。
このカウントが100になると最適化を実行するメッセージが表示されるのです。

また、普通に使用している以外にも、デスクトップサーチを有効にしていると、
デスクトップサーチが自動的にメールに対してインデックスを作成するので、
自分では100回も開いていないのに、最適化が要求されることがあります。

参考:マイクロソフトのサポート情報
http://support.microsoft.com/kb/971708/ja

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Tips, Windows , Leave a comment

【PHP】【PEAR】MDB2使用例


PEARのMDB2パッケージ使用例です。プレースホルダを用いています。
ちなみにDBパッケージはメンテナンスが終了しているため、使用が推奨されていません。


error_reporting(E_ALL);
if (error_reporting() > 6143) {

error_reporting(E_ALL & ~E_DEPRECATED);
}

require_once 'MDB2.php';

$dsn = array(
'phptype' => 'mysqli',
'username' => 'db_user',
'password' => 'db_password',
'hostspec' => 'localhost',
'database' => 'testDB',
);

$mdb2 =& MDB2::connect($dsn);

if (PEAR::isError($mdb2)) {

die($mdb2->getMessage());

}

///検索する名前を仮設定
$name = 'aaa';

$sql = "SELECT * FROM sampleTable WHERE name = ? ORDER BY id";

$stmt = $mdb2->prepare($sql, array('text'));
$res = $stmt->execute(array($name));
VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
PHP , , , Leave a comment

【PHP】PHPでdeprecatedのエラーが発生する


PHP5.3から新しいエラーレベルが追加されています。

・E_DEPRECATED
・E_USER_DEPRECATED

これらのエラーは推奨されていない関数を使用すると発生します。
詳細は http://php.net/manual/ja/migration53.deprecated.php

PEARなどのライブラリで推奨されない関数が利用されている場合があり、
require_onceなどで読み込んだだけでエラーが表示されてしまいます。

対処方法は、使用している関数を推奨されていないものから変更する。
ライブラリなどの利用していてどうしても関数が変更できない場合はエラーを
表示しないように変更する。

変更方法は大きく二つ。

・php.iniでエラー表示レベルの変更を行う

error_reporting  =  E_ALL
↓
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

 

・非表示にするコードを書く。

if (error_reporting() > 6143) {
    error_reporting(E_ALL & ~E_DEPRECATED);
}
VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
PHP Leave a comment

【xampp】【php】【PEAR】Windows 7でXAMPPのパッケージ追加


新しいXAMPPを使いたかったので、最新版(1.77)をダウンロード。
PEARのパッケージが足りなかったので「pear install xxxx」を実行したところ、
ダウンロードは正常にいくが、解凍時に「failed to mkdir」と表示される。

原因は、Windows Vista以降のUAC(User Account Control)が原因と思われる。
UACを無効にしていても、コマンドプロンプトでコマンドを実行する際は、
管理者権限が必要となる模様。

対応方法は、管理者権限でコマンドプロンプトを起動し、コマンドを実行する。

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
PHP, Windows 7 , , Leave a comment

【PHP】文字エンコーディングのチェック・変換


■文字エンコーディングのチェック例

<?php

$temp = isset($_GET['id']) ? $_GET['id'] : '';

    if (! mb_check_encoding($id, 'SHIFT_JIS')) {

        die('文字エンコーディングが正しくありません');

}

?>

 

■文字エンコーディングの変換例

<?php

$id = mb_convert_encoding($id, 'UTF-8', 'SHIFT_JIS');

?>

 

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
PHP Leave a comment

【PHP】メモ:正規表現の注意事項


・eregはPHP5.3以降で非推奨となっているため、使用しない。(しかもバイナリセーフではない)
・正規表現には、pregまたはmb_eregを使用する。
・PHP5.3.0以降、POSIX正規表現拡張モジュールは非推奨となったため、PCREを使う。(preg_xxx関数)

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
PHP Leave a comment

【PHP】文字列操作(right,left)


■right関数


function right ( $string, $n ) {

return mb_substr( $string, $n * -1 );

}

$string → 文字列
$n → 取得したい右からの文字数

 

 

■left関数


function left ( $string, $n ) {

return mb_substr($string, 0, ( mb_strlen($string) - $n) * -1 );

}

$string → 文字列
$n → 取得したい左からの文字数

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
PHP Leave a comment

【PHP】入力文字のエンコーディング検査


文字エンコーディングの検査にはmb_check_encoding関数を利用する。

書式:
bool mb_check_encoding( string $var, string $encoding)

$var → チェック対象の文字列
$string → 比較する文字エンコーディング(省略した場合は、PHPの内部文字エンコーディングとなる)

比較して一致したならば、Trueを返し、一致しない場合はFalseを返す。

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
PHP, Security , Leave a comment
1 / 9123456789