Chloroware開発日誌(若旦那のブログ)

マクロスの公式チケットサイトで先着申し込みを効率的に取る

time 2018/02/09

あいさつ

どうも、久しぶりに技術系のブログを書く気になれた若旦那です。

今回は「マクロスの公式チケットサイトで先着申し込みを効率的に取る」方法を書いていきます。

効率的に取ると言っても、僕が劇場版マクロスΔの劇場挨拶、ワルキューレ3rdの先着申し込みに実際に使えた技術的な技を書いて行くだけです。

 

申し込みの流れ

重要なこととしては「パソコン版のChromeまたはFireFox推奨です」

申し込む際は次のステップに従って進めて行ってください。各ステップの理由はあとで説明します。

1、https://www.funity.jp/tickets/macross/mypageにアクセス、ログインしていない場合はログイン、している場合はスルーしてステップ2へ

2、https://www.funity.jp/tickets/macross/showlistにアクセス

3、申し込みたい種別のチケットを選択する。

(ここで混雑していると言われた場合は一切ページ遷移を行わずにhttps://www.funity.jp/tickets/macross/deliveryを開いて進む)

4、支払い方法を選択しても受け取り方法が選択できない場合はコンソールを開く

(Chromeの場合、ページを右クリック→検証をクリック→出てきたウィンドウの上のConsoleタブをクリック)

5、コンソールで document.getElementById(“win108”).style=(“display:block”) を入力してEnter

6、受取方法が表示されるので選択してあとは普通に進めます。

受取人情報などを選択したい場合は7を実行してください。

7、コンソールで document.getElementsByClassName(“delivery”)[0].style=(“display:block”) を入力してEnter

 

何をやっているのか

技術的なことに少しでも興味が持てた方はぜひこちらを読んでください。

メインの内容は次の3つです。

・ページ遷移時のアクセス制限

・セッションで情報を維持している

・JavaScript,CSS,画像ファイルなどのリソースの読み込み失敗

 

ページ遷移時のアクセス制限

このサイトで混雑時に申し込むと、動的ページ(内容が選択によって変化するページ)では、「ただ今大変混み合っております。暫くお待ちください。」と表示されます。

しかし、なぜかリンクを押した際にアクセスの集中を確認し、集中が認められた場合はリンクを遷移させずに「ただ今大変混み合っております。暫くお待ちください。」のページに遷移させる仕様になっているため、リンクを押さずにURLを直接入力すると開けてしまいます。STEP1,STEP2ではこれを使っています。

 

セッションで情報を維持している

このチケットサイトの不思議なところは、リンクを押した時の挙動です。例えば、どの券種を選んだか、あるいはどの公演を選んだなどの情報は通常GET

(URLの末尾に情報を添付する手法)あるいは遷移先のページにPOST(見えない情報として送信する手法、この場合正しいリンクを踏まずにそのURLを再度開いても情報不足でエラーとなる)するというのが一般的です。しかし、このサイトでは、情報を送信した際、セッション情報に最後に選んだチケットの種類などが記憶されますので、どの公演を選んでいようが特定のURLで常に開けます。従って、STEP3では「ページ遷移時のアクセス制限」の問題と組み合わせて、混雑表示が出ても支払い方法のページのURLを開けばチケットの種類が選択された状態で支払いに進めます。

 

JavaScript,CSS,画像ファイルなどのリソースの読み込み失敗

JavaScript,CSS,画像ファイルなどの静的ファイル(常に同じ内容のファイル)は上記の方法では混雑時に読み込みブロックできないので、読み込み時に混雑していたら読み込みがブロックされます。画像などが消えているのはこれのせいです。(試しに開くと、こちらは「ただいまアクセスが集中しています」と表示されます。)

ところがなんとこのサイトは支払い方法を選択すると、受け取り方法が選択できる仕組みになっていて、こちらはJavaScriptで制御されています。しかし、肝心のJavaScriptは混雑で読み込めなくなっているため、コンソールを開いて手動で表示させてやる必要があります。これがSTEP5,STEP7でやっていることになっています。

 

down

コメントする




あいさつ



sponsored link