Hey, Scripting kiddy! は皆様のPCを通じた悩みなどをScript kiddyのスクリプトで解決しようという企画です。

Script kiddyさんが色んな人の悩みをスクリプトで解決していく様はまさに痛快。関係のない無駄話も彼の魅力の一つです。

※注
これは、Microsoftがやっている「Hey,scripting guy!」のパクリ企画です。

公開日:2008.05.12

有名人の作り方

Hey, Scripting kiddy! は皆様のPCを通じた悩みなどをScript kiddyのスクリプトで解決しようという企画です。

今日のお便りはJackass(TM)さんからです。 「Script kiddyさん、こんにちは。助けてください。Time誌の2009年度The person of the yearで田代まさしに是非表紙を飾ってもらいたい(※1)のですが、良い方法はありませんでしょうか?」

Jackassさん、こんにちは。今朝Yahooニュースで見ましたが、イーモバイルに爆破予告したバカが逮捕されましたね。彼はなぜ爆破予告したのでしょうか?目立ちたかったのでしょうか。それとも、単に暇だったからでしょうか。 Script kiddyからすれば動機など知りたくも無い話ですが、Jackassさん、あなたは今、犯罪(※2)をしようとしています。

でも、依頼があったのだからとりあえずスクリプトを書いてみましょう。(WSH VBScript)

01: Dim objHTTPConnection
02: objHTTPConnection = CreateObject("MSXML2.ServerXMLHTTP")
03: 
04: rem リクエストの送信
05: objHTTPConnection.open "GET", "http://cnk.infonic.co.jp/", false
06: 
07: objHTTPConnection.send
08: Set objHTTPConnection = Nothing

はい、これはHTTPのGETリクエストをURLで指定したホストに送信しています。 HTTPリクエストの発行はMSXML3のHTTPヘルパーを使っています。このCOMオブジェクトはXMLプログラミングのサポートの為に作成されていますが、HTTP通信の為の基本的な機能も備えているため、IEコンポーネントを使うよりも楽に、高速な通信を行うことが出来ます。 例えばPerson of the yearのSubmitボタンがGETリクエストを発行している場合、リクエストのURLを田代まさしに投票するようにすれば良いのです。そしてこのスクリプトをループで回しましょう。そうすればあなたが寝ている間でも、京都府警にお世話になっている間でも、あなたのPCは田代まさしに投票し続けてくれるでしょう。

POSTの場合は、以下のようになります。

objHTTPConnection.open "POST", "http://cnk.infonic.co.jp/", false
objHTTPConnection.send "person=田代まさし&submit " ' POST送信文字列

もちろんこのPOST文字列のまま流用できるとは限りませんので、それはLiveHTTPHeaderなどを使いリバースエンジニアリングして、POST文字列を作ってください。

いかがでしたか。当然ながらこのスクリプトは無保証です。田代まさしをthe person of the year にする為にあなたが拘置所に行こうが、裁判所で100万円と言われようが、Script kiddyはいかなる保障もしません。

それではScript kiddyはGoogle Adからクリック金をもらう方法でも考えながら寝ることにします。

※1 Wikipedia 「田代祭り」を参照
※2 実行すると、威力業務妨害、電子計算機破壊等に関する法律により罰せられます。真似しないでね!


※注 これは、Microsoftがやっている「Hey,scripting guy!」のパクリ企画です。 ご意見、ご要望はお問い合わせよりお願いします。