WebBrowserコントロールのIEバージョン

.NETアプリでWebBroserコントロールを貼っつけたらInternet Explorerコンポーネントが貼り付けられます。
ところで、このIEコンポーネント、どんなIEなんでしょうか。

「そんなんマシンに入ってるIEと同じに決まってんやろ」という人は鴨川デルタで磔にされますよ。



f:id:W53SA:20131216203756j:plain

WebBroswerコントロールで動くIEはバージョン7です。

ほんまかいな、という人のためにAcid2テスト*1をしてみましょう。

f:id:W53SA:20131216204027j:plain

見事に失敗してますね。

In order to ensure that these existing applications remain in working order, IE8 renders pages running within instances of the WebBrowser control in IE7 Standards Mode by default.


WebBrowser Control Rendering Modes in IE8 - IEBlog - Site Home - MSDN Blogs

既存のアプリケーションが困らないようにこうしたんだって。

*1:Acid2IE7不合格でIE8は合格してる。

続きを読む

C#でJSONを読み込むメモ

Webアプリケーションでのデータ構造デファクトスタンダードがJSONなので、.NETというかC#でJSONを読みたいことがままあります。

みんな同じようなことを思うので、ライブラリがちゃんとあって、周辺環境も色々と整備されています。

基本的にはぐぐればおよその情報が出てくるので、メモ程度です。

あ、前の記事で艦これのやりとりするJSONデータが取れたんで、それを料理しましょうって話です。

続きを読む

FiddlerCoreを使ってC#でhttp通信を覗き見しよう

突然ですが、HTTP通信を覗くことを考えます。

あ、艦これの専ブラを作った話からの続きです、はい。

要するにHTTPプロキシを作ればいいわけで、C#にはSystem.Net.HttpListenerというHTTPサーバクラスもあったりして自前で実装することもできますが、FiddlerCoreという.NET向けHTTPプロキシライブラリがあるのでこれを使うことにしました。車輪の再発明はやめて、枯れたライブラリをありがたく使わせてもらいましょう*1

FiddlerCoreとは

FiddlerというHTTPアナライザのHTTPプロキシ部分がライブラリFiddlerCoreとして提供されています。

なので、単にHTTPセッションを中継するだけではなく、以下の機能があります。
「HTTPセッションをハンドルし、適当なタイミングでイベントを呼び、HTTPリクエスト/レスポンスを適当に調理したものを渡してくれる。」
完璧じゃないですか。

というわけで、早速使ってみましょう。

*1:自分の書いたコードが一番信用ならんかったりするよね。

続きを読む

艦これの専ブラを作った話

Java書くの疲れて艦これ始めたらしっかりハマってしまいました*1

で、しばらくぽちぽちやってたわけですが、だんだんUIに不満が。

  • 負傷した艦娘を修復所要時間順にソートできない
    • Lvとダメージ程度によって所要時間は変わるのに、ダメージ程度でしかソートできない
  • アイテム*2一覧がない
    • 未使用アイテム一覧しかないので、装備済みアイテムを探すのが面倒
  • 任意のタイミングで任務一覧を見ることが出来ない
  • ドックでの修理が終わっても何の通知もない

というわけで、なんとかするというか自前GUIを書く*3ことにしました。ブラウザゲーなので、専用ブラウザとか呼ぶようです。

こんな感じに出来ました。

ブラウザゲーなので、基本的にクライアント側ではサーバに指令を与えてサーバから降って来たデータを表示することしかしてないはず。サーバから降って来たデータを自分で料理すればいいことになるので、取り敢えずChromeデベロッパーコンソールで流れてるデータを眺めたりぐぐったりして情報収集しました。

結論:「httpプロキシ作って流れてるJSONをwatchすればいい」

要するに

  • サーバとFlashの間でやりとりされてるJSONを取得
  • JSONを処理して適当なGUIで表示

ってなわけで、以上2つについて調べたことを今後書いていきたいきます。

次回予告:「C#でhttp sniffing」→書きました:FiddlerCoreを使ってC#でhttp通信を覗き見しよう


ちなみに、公開しました(6 May 2013)。

*1:試験前に開発力がマシマシするように現実逃避力ってやばいですね。

*2:武装のことです。

*3:ちなみに、WindowsでやってるのでC#で書きました。

スマホにいれたアプリ一覧

Xperia Z買ったわけですが、取り敢えず、後輩に「そんなことも知らないんですか」的な煽ら食らったりしつつも試行錯誤中。

ひとことコメントつけてますが、事実誤認があるかも。

続きを読む

スマホ、始めました

色々思うことあってずっとガラケー使ってきたんですが、スマホも持つことにしました。
二台持ちとかバカっぽい気がしますが、現実問題としてスマホ使いこなせるまで時間かかりそうだったり政治的に揉めたり。

ちなみに機種はXperia Zです。アアアッやArrowsのように勝手にリブートしないから+使ってる後輩が数人居たから。

適度に参照してた:トップページ - Xperia Z SO-02E Wiki

しっかし、4sqやらtwitterの更新通知がバシバシ降ってくるとこりゃ中毒になる人も出てくるわって感じです。通知イベントドリブン生活になってしまう人がいてもおかしくないねこりゃ。

続きを読む

OCN IPv6ネットワークにマルチキャストされてる緊急地震速報を受信しちゃう

随分昔に、Weathernewsの緊急地震速報プロトコルを解析されたコードを公開されてる方を見つけて、それ改造してIRCに流すbot作ったのですが、プロトコルが変態すぎてなかなか安定しませんでした*1。今動くのかなこのコード*2

今はOCN IPv6を契約するとIPv6マルチキャストで契約してなくてもOCN緊急地震速報っぽいパケットがだだ漏れしてくる時代に。Twitter bot走らせてる人もいたり。

参考:

要するにIPv6マルチキャストを受信すればいいのね。というわけで、調べてみました。

例によって、書いてある内容は未保証です。

*1:東日本大震災の際にEEWが飛びまくった際に頑張ってデバッグして多少安定するようにはなったんですが、それでも何か変。

*2:と思って動かしてみたら動きはしたけど文字化けしたんでちょっと修正した。

続きを読む