前回,為替レートをグラフ化できるようになったので,今度はそれをブログパーツ風にHTMLから自由に埋め込めるようにしてみた.→ グラフのページ
方針HTMLに為替チャートを埋め込む方法だが,考えてみたところこんな感じだろうか.
今回は,チャートの画像だけなので,もっとも単純な画像リダイレクト方式にすることにした.
設置例こういう風にして,チャート図を埋め込むことができます.米ドルのチャートを設置する例.画像サイズ=200x70 <a href="http://kamoland.com/kawase/chart.html"> <img src="http://kamoland.com/kawase/vc/200x70/USD.png" alt="米ドル対円のチャート(最近1ヶ月)" border="0"> </a> ![]() chart.htmlへのリンクは任意です.別にこれで被リンクを稼いでSEOをやろうなどとは思っていませんので...
仕様<img src="〜"> を使って,http://kamoland.com/kawase/vc/(1)/(2).png
注意事項
内部動作について為替情報
グラフの作成方法
グラフの表示方法
chs=200x70&cht=lc&chco=ff0000&chxt=x,y&chxl=0:|2008-09-26|2008-10-25|1:|90|110&chd=s:vwxqwwsusjiecgfmiejiijfXWN
RewriteEngine on RewriteRule ^/kawase/vc/([0-9]+x[0-9]+)/([A-Z]+).png$ /kawase/vc.cgi?sz=$1&c=$2 [PT]
はまったところChartAPIにリダイレクトするために,vc.cgiがHTTPレスポンスとして出力するLocationヘッダの内容で,はまりました. このLocationヘッダにおいては,ChartAPIのパラメータに含まれるコロン「:」を「%3A」に変換したものを返すようにしました.どうもHTTPレスポンスのLocationヘッダの値にコロン「:」が含まれると,それを受け取ったブラウザがGETをかける時に,勝手にコロンの後に空白(スペース)を追加するのです. 具体的には,リダイレクトさせるために以下のようなレスポンスを返すと, Location: http://chart.apis.google.com/chart?chs=200x70&cht=lc&chxt=x,y&chxl=0:|2008-09-26|〜 GET /chart?chs=200x70&cht=lc&chxt=x,y&chxl=0: |2008-09-26|〜 chxl=0:|2008-09-26〜 chxl=0: |2008-09-26〜 そのため,このエラーを回避するために, chxl=0:|2008-09-26〜 chxl=0%3A|2008-09-26〜 chxl=0:%3A|2008-09-26〜 (※CGIによるリダイレクトの方法については,短縮URLの実装などを参照.) |