Pages

2010年3月24日水曜日

libcurlの使い方

忘れないうちにメモ

cURLマニュアル(日本語訳)
http://www.hcn.zaq.ne.jp/___/unix/curl_manpage.html

Client URL Library
http://www.php.net/manual/ja/book.curl.php


$filepath = "/home/www/user/filepath_dir/file";

$ch = curl_init("http://www.example.jp/");
$fp = fopen($filepath, "w");
if ($fp === false) {
    echo "ファイルのオープンに失敗しました\n";
    exit;
}

// curlオプション
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FILETIME, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_USERPWD, 'user:password');

$result = curl_exec($ch);
curl_close($ch);
fclose($fp);
if ($result === false) {
    echo "ファイルの取得に失敗しました\n";
    exit;
}

libcurlは標準でインスコしないんで、libcurl使うよりbashで書いた方が早いかも。

    exec( "curl.sh", $output );
    if (!$output or !is_array($output) or $output[0] == 1) {
        echo "ファイルの取得に失敗しました\n";
        exit;
    }

php側はこんなんでもいいかな。

0 コメント: