PHP で、HTTP クライアントを作る方法

PHP で、HTTP クライアントを作る方法をまとめてみた。以下の2通りがある。 PHP では fopen でサイトにアクセスできてしまうから、前者の方法が一番シンプルだといえるだろう。ユーザー名とパスワード付きの基本認証が施してあるサイトやさらに凝ったことをしたければ、CURL を使うのがよい。 CURL では HTTP だと、GET、POST、PUT、FTP アップロード、フォームからのアップロード、Proxy、cookie、ユーザ名とパスワードによる基本認証/ダイジェスト認証、HTTP(または HTTPS)の認証…と、フルサポートするようだ。 以下は、CURL のシンプルな例。
<?php

// アクセスする URL
$url = 'https://yourdomain.com/xxx...';

// 1. 初期化
$ch = curl_init();

// 2. アクセスする URL を設定
curl_setopt($ch, CURLOPT_URL, $url);

// 3. curl_exec を実行したときに戻り値として成功(TRUE)/失敗(FALSE)ではなく、
//    HTMLなどの値(文字列)を返すようにする
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 4. サイトにアクセスする
$data = curl_exec($ch);

// 5. 結果を表示する
print $data;

// 6. 接続を閉じる
curl_close($ch);

?>
トラックバック URL: https://perltips.twinkle.cc/trackback/207
PHP5の場合、ファイルを文字列にするのみならfile_get_contentsを使うとスッキリ書けますよ^^
Posted by Kiske (未認証ユーザ) on 2007/05/29(火) 02:41
>Kiske さん コメントどうもありがとうございます。PHP に関しては初心者同然なので助かります。今度試してみます。
Posted by yas (未認証ユーザ) on 2007/05/29(火) 05:19
PHP で、サイトにアクセスして HTML を取得する方法
Trackback from Perl Tips: PHP の場合は、fopen 関数の引数に URL を指定すればその URL ......
Posted by Perl Tips (未認証ユーザ) on 2007/05/15(火) 19:16
PHP で、ダイジェスト認証(Digest Auth)をする HTTP クライアント
Trackback from Perl Tips: PHP で、ダイジェスト認証(RFC2617)付きのサイトにアクセスするにはど......
Posted by Perl Tips (未認証ユーザ) on 2007/05/15(火) 19:17