file_get_contents で外部リソースにアクセスする 〜VirtualHost編〜

久々な記事の割には小ネタです。

PHP で他のサーバにあるリソースを HTTP経由でアクセスする場合はいくつか方法があります。
  • fsockopen でソケットを張って通信する
  • PEAR::HTTP_Request をつかう
  • cURL関数をつかう
  • wget等の外部プロセスを実行する
そんなたいしたことやんないのにソケット通信のプログラムを何行も書くのだるいなーとか, PEAR::HTTP_Request2 入ってないしわざわざインストールするのもなーとか, そもそも cURL関数もサポートされてないよーとか, わざわざ外部プロセスを実行するのもなんか気持ち悪いなー

・・・という時は file関数や file_get_contents関数でサクっとアクセスするのが便利です。
(allow_url_fopen が有効になっていることが前提)
セキュリティ的には色々物議を醸していますけどね。

file_get_contents('http://hoge.example.com/path/to/resource');

で目的が果たせればいいのですが, Webサーバによっては VirtualHost の設定がされていて,
目的のリソースの URI が http://fuga.example.com/path/to/resource の場合もありますよね。

Name-based な VirtualHost だと, hoge.example.com と fuga.example.com は同じ IPアドレスを指すので,

file_get_contents('http://fuga.example.com/path/to/resource');

だと, Hostヘッダを付加しないので VirtualHost の設定によっては意図するリソースにアクセスできない可能性があります。
# どの VirtualHost の設定を使うかは Hostヘッダで判断するので

Hostヘッダを付加するにはどうすればいいか, ですが...

続きを読む>>
はてブへ追加 この記事のはてブユーザ
PHP | comments (1315) | - | pagetop↑

2009 第33回千葉マリンマラソン

今更な感じですが, 1/18(日) に行われた千葉マリンマラソンの完走証が届きました。

千葉マリンマラソン2009

今回はそこそこ練習していたので, 自分の中ではハーフのベストタイムを記録。
ネットタイム 1:40:24 と自己ベストを 10分近くも更新できて満足な大会でした。

コース自体は街中〜海沿いのアスファルトの平坦な道をひた走ります。
海沿いとは言ってもコースから海が臨めるわけではありません(私に見る余裕が無かっただけなのかも知れませんが)。

給水所は 3箇所で水もそれほど美味しくないです。
というか 1月のクソ寒い中で走っているのでそんなに水も欲しくなかったりします。

荷物預かりもありません。貴重品は預かってくれますが,
最寄の海浜幕張駅からも結構遠いです。

大会全体として見ると微妙な感じなのですが...
ただ, ゴールの千葉マリンスタジアムに入った時の圧倒感は格別。

スタジアムの真ん中に立てる機会なんてそうそうないですからね。
もう, 走りきった充実感と相まってテンションあがりまくること間違いなし。

この快感を味わうために来年の千葉マリンマラソンも参加する予定。


しかし, 慢性的に右膝が痛くなるのだけは何とかせねば...
はてブへ追加 この記事のはてブユーザ
Run | comments (608) | - | pagetop↑

Amazonクレジットカード終了のお知らせ

はてブを巡回していると, 「Amazonクレジットカードサービス終了のご案内」というエントリを発見。

シティカードジャパンとAmazon.co.jpとの提携カード「Amazonクレジットカード」は、諸般の事情により2008年12月15日をもちましてサービスを終了する運びとなりました。
これまでご愛顧いただきました会員の皆様には心より感謝いたしますとともに、ご不便をおかけいたしますことを深くお詫び申しあげます。

100円で 1ポイントという還元率の高さから公共料金等の引き落としを Amazonカードに支払い切り替えて全部まとめていたのに...
ギフト券ウマーもできなくなるし, また引き落としのカード変更手続きしないといけないじゃないですか。

('A`)メンドクサ!
続きを読む>>
はてブへ追加 この記事のはてブユーザ
Amazon | comments (1750) | - | pagetop↑

セントラル短資システム障害 〜異常レートで強制決済〜

通勤中にふと携帯を見ると, 4件の新着メール。
全部 FXフォルダに振り分けられていたのですが, 新規注文も出してないしメールが来る心当たりなし。

何だろう...とその内の 1件のメール件名を見た瞬間に一瞬時が止まりました。

強制決済のご連絡【セントラル短資OT】

○○ ○○ 様
本日お客様取引口座の口座清算価値が必要証拠金の30%を割り込みました。
つきましては、外国為替取引約款第19条1項に基づき、未決済建玉をお客様の計算において決済させていただきます。
また、発注済注文につきましても、その全てが取り消しとなりますので、予めご了承ください。

口座清算価値:-xx,xxx円
必要証拠金額:xxx,xxx円
維持証拠金額:xxx,xxx円
証拠金率:9999%
超過証拠金:-xxx,xxx円

( ゚д゚) ・・・
 
(つд⊂)ゴシゴシ
 
(;゚д゚) ・・・
 
(つд⊂)ゴシゴシゴシ
  _, ._
(;゚ Д゚) …!?

えっ!?ナニコレ。
今朝方何か異常自体でも発生して超絶円高にでもなっちゃったのーん!?

急いでモバイルサイトにログインしてポジションの確認をしてみるも, やはり全ポジ決済されてる始末...。
私はランド円中心の買いポジ低レバ放置スワップ派なんですが, 14.8円 → 9.92円 までいきなり暴落すればそりゃ死にますわ。

セントラル短資異常レート

FX人生\(^o^)/オワタ
続きを読む>>
はてブへ追加 この記事のはてブユーザ
FX | comments (1228) | - | pagetop↑

日本の滝100選巡り 其の弐 〜丸神の滝〜

天気もよくツーリング日和だったので 2週連続滝巡りへ。
第2弾は埼玉県秩父郡小鹿野町にある『丸神の滝』

丸神の滝

自宅から 100km弱と日帰りツーリングにはお手ごろな場所。

成木街道から名栗を越えて秩父へ。
下に比べて山の中はやはり涼しげ。

秩父のコンビニでお昼のおにぎりと唐揚げを調達。
R140 を通り両神村への県道へと。
車の少ない田舎道で快適快適。

丸神の滝採石場

滝への川沿いの道へと折れると, 突如採石場らしき場所へ。
道理でトラックが多いわけだ。

そんなこんなで丸神の滝駐車場へ到着。
続きを読む>>
はてブへ追加 この記事のはてブユーザ
Touring > Fall | comments (2029) | - | pagetop↑

日本の滝100選巡り 其の壱 〜払沢の滝〜

バイクでツーリングを始めてから早 7年。
日本全国大体周ったので漠然とどこかに行こうというモチベーションも低下気味。
さらに毎日のうだる様な暑さにテンションも下がり気味。

そろそろ何か目標を決めてツーリングしよう。
ということで何となく「日本の滝100選巡り」に挑戦してみることにしました。
マイナスイオンで癒されそうですしね。

払沢の滝

記念すべき第1弾は東京都西多摩郡檜原村にある『払沢(ほっさわ)の滝』
自宅から片道 20kmという何ともお手軽な場所にあります。

早速コンビニでお茶とおにぎりを買ってバイクでGO!
続きを読む>>
はてブへ追加 この記事のはてブユーザ
Touring > Fall | comments (658) | - | pagetop↑

ただいまEZweb情報サービスへの接続がしづらい状況となっております。

電車内で某掲示板のニュース板等をよく利用するのですが, ここ数日 EZweb がまともに使えません。

数回アクセスすると,

ただいまEZweb情報サービスへの接続がしづらい状況となっております。
もうしばらくたってからアクセスして下さい。

のメッセージが。

以後しばらくは, アクセスしてもずっと同じメッセージが表示されます。
検索してみると, ブログや掲示板サイトに繋がらない等, 同じ症状の方が最近多数いらっしゃるようです。
続きを読む>>
はてブへ追加 この記事のはてブユーザ
Mobile | comments (756) | - | pagetop↑

ダウンロードできない <object>タグ 〜au Sシリーズの罠〜

「Flash がダウンロードできません><」

とある W32S ユーザからのサポートメール。

au端末には <object>タグを記述して Flash ダウンロードさせています。

<object data="http://example.com/download.php?path=path%2Fto%2Fflash.swf"
    type="application/x-mpeg" copyright="no" standby="ダウンロード">
<param name="disposition" value="devfl7z" valuetype="data" />
<param name="size" value="97061" valuetype="data" />
<param name="title" value="フラッシュ" valuetype="data" />
</object>

Flashファイルが DocumentRoot 以下になく, 色々処理をさせるために download.php を介してファイル出力するような形式。
Flashファイルの場所は pathパラメータで URLエンコードして渡しています。

もちろん事前に複数の機種でダウンロードができることを確認済みです。
しかし検証チームに W42S で確認してもらったところ, ダウンロードできない現象が再現。

同じ Sシリーズ...これは怪しい。
続きを読む>>
はてブへ追加 この記事のはてブユーザ
Tech > Mobile | comments (903) | - | pagetop↑

PHP と DB と NUMERIC 〜暗黙の型変換の罠〜

この現象は Sybase 限定なのかもしれませんが, 有害な PHP の情報共有も兼ねて。

携帯以外からのアクセス制限しているとはいえ PHP 4.3.x という化石のような環境を何とかすべく, 4.3.x → 4.4.8 へアップデートしました。
# 4系はサポート終わっちゃってますけどいきなり 5系は厳しそうだったので...

アップデート後は特に問題なく平和に動いていたサイトですが, 数日後から障害っぽいメールがちらほらと。
とあるゲームのコーナーなんですが, 条件を満たしていないのに次に進める模様。

詳しく調査してみると,

2 > 16

true と判定(???)されていることが判明。

Ω ΩΩ< 「な、なんだってー!!」
続きを読む>>
はてブへ追加 この記事のはてブユーザ
PHP | comments (786) | - | pagetop↑

PHP の include で半角カナが文字化け

インターネットの世界では NG とされている半角カナですが, 携帯サイトの構築では避けて通ることができません。
しかし昔から半角カナには文字化けの問題が憑き物。

半角カナを含む PHPファイルを include (require も同じ) して出力すると, 半角カナ文字列の一部が文字化けするという謎の症状に悩まされました。
表示全体が文字化けするならまだ分かりますが, 半角カナ部分のごく一部の場合もあれば, 行末まで化けたりする場合も。
しかも全てのファイルではなく, 一部のファイルのみそういった症状が起こります。

半角カナの前後に適当な文字を挿入してやると文字化けが解消されたりと奇妙な挙動。

携帯サイト向けの開発環境なので, --enable-zend-multibyte つけてビルドして mbstring.script_encoding = SJIS としてあるのですが, 今までの経験と第六感からここら辺が怪しい感じが。

PHP が 4.3.x(!) とかなり古かったのでこのせいかと思い, 4.4.8 や 5.2.6 にバージョンアップしてみたのですが, 症状は変わらず。

グーグル様に『PHP 半角カナ 一部文字化け』とお伺いを立てても, 有力な情報もなし。

さて困った。
続きを読む>>
はてブへ追加 この記事のはてブユーザ
PHP | comments (500) | - | pagetop↑
1/15 >>