PHPでHTTPを使ってサーバからデータを取得するimxs開発者ブログテクニカルな調べ物や遊びの記録。Android,Mac,ネットワークなど。サイト移転のお知らせこちらに移転しました。よろしければこちらへどうぞ。PHPでHTTPを使ってサーバからデータを取得するphpでHTTPリクエストを送信するためにはHTTP_Client::get()やhttp_get()のメソッドを使う、もしくはcurlなどのコマンドを直接呼び出すなんて方法も無くはないですが、HTTP_Clientを使う方法を紹介します。HTTP_Clientを使うためにはHTTP_Clientパッケージが必要です。パッケージが入っているかどうかは、以下のコマンドで調べられます。listまた、HTTP_Clientが入ってない場合、以下のコマンドでインストールできます。HTTP_Client--alldepsオプションを付けることで、必要な他のパッケージもまとめてインストールしてくれます。(10.8.3)には入っていませんでしたが、上記のコマンドで入れました。サクラインターネットのレンタルサーバには始めから入っていました。パッケージの読み込み。前述のとおりHTTP_Clientパッケージが必要なので読みこんでおきます。GETの送信http://www.google.co.jpにリクエストを送信する例です。戻り値はHTTPのレスポンスコードです。リダイレクトされた場合でも自動的にリダイレクト先にリクエストを送信してくれます。以下の例ではレスポンスコードが200以外の場合は終了するようにしています。レスポンスを取り出すHTTP_Client::currentResponse()で配列としてレスポンスを取り出すことができます。配列からキー'body'でHTTPボディを取り出せます。$response['body'];キーは'body'の他にcodeとheadersがあるのでヘッダも取得できます。まとめてサンプルコード載せておきます。$response['body'];print_r($html);?>最もシンプルと思われる例で説明しましたが、各メソッドのパラメータでいろいろとカスタマイズできます。APIリファレンスのリンクを載せましたので詳細はこちらをご覧ください。titleサンプルコードを試してみたのですが、文字化けしました。titleななしさんコメントありがとうございます。(LF)-------------------------------と、おそらくShift_JISのようなので、お使いのコンソール(ターミナル)アプリの文字コードがUTF-8であれば文字化けします(私の環境でも同様でした)。-w-------------------------------上記のようにnkfコマンドの"-w"オプションを使えば、出力の日本語の部分が表示されると思います。※nkfコマンドは別途インストールする必要があるかもしれません。»このページのトップへサイト内検索プロフィールAuthor:imxsAndroidアプリ開発などを行っているimxsの開発者です。気になることを調べてメモって行きます。ほとんどの人にはどうでもいい内容でも、広い世の中一人くらいは同じ疑問を持った奇妙な人がいることを信じつつ。暖かい目で見守ってやってください。imxsの開発者ブログは移転しました。よろしければこちらへどうぞ。(06/05)ブログタイトル変わりました。