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

      2016/05/23

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

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のやり取りができます。

 

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

megane

megane

最近、個人事業主から法人へと進化しました。 エンジニア歴13年位です。PHPとかMysqlを使ってWebシステムを構築します。 Javaも書きます。 CakePHPも使います。 サーバのチューニングもごりごりやります。 あと、お肉と自動車が好きです。Twitterとか申請どうぞ。

 - PHP ,