2014.
08.
05
15:40:14
結論から書くと「HTTP/Request2.php」へのパスを通してやれば、普通に使えました。
あら、楽ちん♪
それでは、詳細を書いていきます。
とあるプログラムで「file_get_contents()」を使って別サーバにあるファイルを読み込んでいたのですが、
なんかの制限をかけられたのか、上手く取得できなくなっちゃいましてね。
試しにHTTPリクエストで投げてみるかな~と思ったのがきっかけです。
試すための条件は
1.Windowsのxampp環境である
2.「pear install」コマンドを使わない
です。
特に「2.」が大事でしてね。
他のプログラムも動いているのと、フォルダ毎ごっそり移動したかったので、
サーバ全体に影響するような操作はしたくなかったのです。
「pear install」コマンドが実際に何をやっているのかは知らないけど、
コア部分にパスを通せば何とかなるんじゃねーの(--?と思ったので、
インストールしないで試してみることにしました。
というわけで、まずはPearのHTTP_Request2を落としてきます。
2014年8月現在の最新版は2.2.1っぽいので、以下のURLから取得φ(--)
http://pear.php.net/package/HTTP_Request2/download
ダウンロードしたファイルは「.tar.gz」形式なので、頑張って解凍してください。
私は一回Linux環境に持って行って「gzip -d」「tar xvf」コマンドで解凍しました。
次に、解凍してできたフォルダを適当な場所に置きます。
ちなみに、解凍後のフォルダ構成は以下の通りです。
メインのファイルは
っぽいので、そいつをrequireしてやることにしました。
そんで、出来あがったサンプルプログラムがこちらφ(--)
試しに動かしてみると……普通に動きました(*´ェ`*)
えっ?マジで?
そんなにあっさり動いちゃうの?ヾ(*´ェ`*)ノ
物にもよるのかもしれませんが、パスを通せば普通に動くのですね。
インストールするのが嫌なのでPearは敬遠気味だったのですが、
これからはもう少し優しくしてやろうと思います。
完了\(--)/
あら、楽ちん♪
それでは、詳細を書いていきます。
とあるプログラムで「file_get_contents()」を使って別サーバにあるファイルを読み込んでいたのですが、
なんかの制限をかけられたのか、上手く取得できなくなっちゃいましてね。
試しにHTTPリクエストで投げてみるかな~と思ったのがきっかけです。
試すための条件は
1.Windowsのxampp環境である
2.「pear install」コマンドを使わない
です。
特に「2.」が大事でしてね。
他のプログラムも動いているのと、フォルダ毎ごっそり移動したかったので、
サーバ全体に影響するような操作はしたくなかったのです。
「pear install」コマンドが実際に何をやっているのかは知らないけど、
コア部分にパスを通せば何とかなるんじゃねーの(--?と思ったので、
インストールしないで試してみることにしました。
というわけで、まずはPearのHTTP_Request2を落としてきます。
2014年8月現在の最新版は2.2.1っぽいので、以下のURLから取得φ(--)
http://pear.php.net/package/HTTP_Request2/download
ダウンロードしたファイルは「.tar.gz」形式なので、頑張って解凍してください。
私は一回Linux環境に持って行って「gzip -d」「tar xvf」コマンドで解凍しました。
次に、解凍してできたフォルダを適当な場所に置きます。
ちなみに、解凍後のフォルダ構成は以下の通りです。
HTTP_Request2-2.2.1
├─data
├─docs
├─HTTP
│ │ Request2.php
│ └─Request2
│ ├─Adapter
│ └─Observer
└─tests
├─Request2
│ └─Adapter
├─_files
└─_network
├─data
├─docs
├─HTTP
│ │ Request2.php
│ └─Request2
│ ├─Adapter
│ └─Observer
└─tests
├─Request2
│ └─Adapter
├─_files
└─_network
メインのファイルは
HTTP_Request2-2.2.1/HTTP/Request2.php
っぽいので、そいつをrequireしてやることにしました。
そんで、出来あがったサンプルプログラムがこちらφ(--)
<?php
require_once dirname(__FILE__) . '/HTTP_Request2-2.2.1/HTTP/Request2.php';
//対象URL
$url='http://example.com';
try{
//インスタンス作成
$request = new HTTP_Request2($url, HTTP_Request2::METHOD_GET);
//リクエスト送信
$response = $request->send();
//結果取得
if($response->getStatus() == 200){
print $response->getBody();
}else{
throw new Exception("取得失敗");
}
} catch(Exception $e){
var_dump($e);
}
require_once dirname(__FILE__) . '/HTTP_Request2-2.2.1/HTTP/Request2.php';
//対象URL
$url='http://example.com';
try{
//インスタンス作成
$request = new HTTP_Request2($url, HTTP_Request2::METHOD_GET);
//リクエスト送信
$response = $request->send();
//結果取得
if($response->getStatus() == 200){
print $response->getBody();
}else{
throw new Exception("取得失敗");
}
} catch(Exception $e){
var_dump($e);
}
試しに動かしてみると……普通に動きました(*´ェ`*)
えっ?マジで?
そんなにあっさり動いちゃうの?ヾ(*´ェ`*)ノ
物にもよるのかもしれませんが、パスを通せば普通に動くのですね。
インストールするのが嫌なのでPearは敬遠気味だったのですが、
これからはもう少し優しくしてやろうと思います。
完了\(--)/