公開日: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!」のパクリ企画です。 ご意見、ご要望はお問い合わせよりお願いします。
