PHPスクリプトからcURLを使ってCookieのやり取りをするサンプル

PHPのcURLでCookieのやり取りをする方法 PHP5

PHPのcURLを使ってウェブサイトにアクセスする方法を以前にいくつか紹介しました。

■CURL_MULTIでPHPから並列アクセスを実現するサンプルを書いた
■PHPでCURLを使ったウェブアクセスのサンプルコード

今回はcURLを使ってcookieのやり取りを行うサンプルを書きました。このサンプルを利用することで、PHPのスクリプト上からシステムにログインをしたりすることが可能となります。

 

■以下サンプルコードです。

<?php
function curl_with_cookie($url) {
	// 初期化
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url ); // アクセスURLの設定
	curl_setopt($ch, CURLOPT_HEADER, false );
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt($ch, CURLOPT_TIMEOUT, 30 ); // タイムアウト

	// Cookieの情報を保存するファイル名を指定する
	$cookieFileName = '/tmp/cookie.txt';
	curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFileName);
	curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFileName);

	// アクセス実行
	$result = curl_exec( $ch );
	curl_close( $ch );

	return $result;
}

 

利用するためには、CURLOPT_COOKIEJARとCURLOPT_COOKIEFILEをcurl_setoptで設定します。このパラメータはファイル名を指定します。このふたつのパラメータを設定するだけでcookieのやり取りができます。

 

参考にしてみてください。