[php]
クラスカール {
/*
* 指定されたアドレスを取得するgetメソッド
* @param string url アクセスするアドレス
* @param string cookie Cookieの保存先アドレス Cookieが無い場合はCookieは送信されません
* @return 文字列情報はcurl_exec()で取得します
* @著者アンディ
**/
パブリック関数 get( $url, $cookie='' )
{
// cURL セッションを初期化します
$curl =curl_init($url);
// ヘッダー情報を表示しません
curl_setopt($curl, CURLOPT_HEADER, 0);
//curl_exec() で取得した情報を直接出力するのではなく、ファイル ストリームの形式で返します。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 自動ジャンプを使用します
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
If(!empty($cookie)) {
// Cookie データを含むファイルの名前は、Netscape 形式にすることも、純粋な HTTP ヘッダー情報だけをファイルに保存することもできます。
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
}
// リファラーを自動設定します
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
// Curl セッションを実行します
$tmp =curl_exec($curl);
//カールセッションを閉じる
curl_close($curl);
$tmp を返します。
}
/*
* Postメソッドは指定されたアドレスのリクエストをシミュレートします
* @param string url リクエストの指定されたアドレス
* @param リクエストによって運ばれる配列パラメータ
* #patam string cookie Cookieの保存アドレス
* @return 文字列情報はcurl_exec()で取得します
* @著者アンディ
**/
パブリック関数 post( $url, $params, $cookie )
{
$curl =curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, 0);
// 認証証明書のソースを確認します。0 は証明書の有効性の確認を禁止することを意味します。
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// 証明書から SSL 暗号化アルゴリズムが存在するかどうかを確認します
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
// ユーザーが使用するブラウザをシミュレートし、HTTP リクエストに「user-agent」ヘッダー文字列を含めます。
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
// フォーム送信と同様に、application/x-www-form-urlencoded タイプの通常の POST リクエストを送信します。
curl_setopt($curl, CURLOPT_POST, 1);
//curl_exec() で取得した情報を直接出力するのではなく、ファイル ストリームの形式で返します。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 自動ジャンプを使用します
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
// リファラーを自動設定します
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);// Cookie アドレス
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
// すべてのデータは、HTTP プロトコルの「POST」操作を使用して送信されます。ファイルを送信するには、
// ファイル名の前に @ を付け、フルパスを使用します。このパラメータは URL コード化された文字列として渡すことができます
// 'para1=val1¶2=val2&...' と同様、またはキー値としてフィールド名、値としてフィールドデータを持つ配列を使用します
// value が配列の場合、Content-Type ヘッダーは multipart/form-data に設定されます。
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params));
$result =curl_exec($curl);
curl_close($curl);
$result を返します。
}
/**
*リモートダウンロード
* @param string $remote リモート画像アドレス
* @param string $local ローカルに保存されたアドレス
* @param string $cookie cookie address オプションのパラメータは
で表されます
* 一部の Web サイトでは、Web サイト上の画像をダウンロードするために Cookie が必要です
* したがって、Cookie を追加する必要があります
* @return void
* @著者アンディ
*/
パブリック関数 reutersload($remote, $local, $cookie= '') {
$cp =curl_init($remote);
$fp = fopen($local,"w");
curl_setopt($cp, CURLOPT_FILE, $fp);
curl_setopt($cp, CURLOPT_HEADER, 0);
If($cookie != '') {
curl_setopt($cp, CURLOPT_COOKIEFILE, $cookie);
}
curl_exec($cp);
curl_close($cp);
fclose($fp);
}
}
クラスカール{
/*
* 指定したアドレスを取得するGetメソッド
* @param string url アクセスするアドレス
* @param string cookie Cookieの保存先アドレス Cookieが無い場合はCookieは送信されません
* @return 文字列情報はcurl_exec()で取得します
* @著者アンディ
**/
パブリック関数 get( $url, $cookie='' )
{
$curl =curl_init($url);
//ヘッダー情報を表示しません
//curl_exec() で取得した情報を直接出力するのではなく、ファイル ストリームの形式で返します。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 自動ジャンプを使用します
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
if(!empty($cookie)) {
// Cookie データを含むファイルの名前。Cookie ファイルの形式は Netscape 形式にすることも、純粋な HTTP ヘッダー情報だけをファイルに保存することもできます。
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
}
// リファラーを自動設定します
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
//curlセッションを実行します
$tmp =curl_exec($curl);
//カールセッションを閉じる
curl_close($curl);
$tmp;
を返します
}
/*
* Postメソッドは指定されたアドレスのリクエストをシミュレートします
* @param string url 指定されたアドレスが要求されました
* @param 配列パラメータが要求されました
* #patam string cookie クッキー保存アドレス
* @return 文字列情報はcurl_exec()で取得します
* @著者アンディ
**/
パブリック関数 post( $url, $params, $cookie )
{
$curl =curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, 0);
// 認証証明書のソースをチェックします。0 は証明書の有効性のチェックを禁止することを意味します。
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// 証明書からSSL暗号化アルゴリズムが存在するか確認します
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
// ユーザーが使用するブラウザをシミュレートし、HTTP リクエストに「user-agent」ヘッダー文字列を含めます。
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
// フォーム送信と同様に、タイプ: application/x-www-form-urlencoded の通常の POST リクエストを送信します。
curl_setopt($curl, CURLOPT_POST, 1);
//curl_exec() で取得した情報を直接出力するのではなく、ファイル ストリームの形式で返します。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 自動ジャンプを使用します
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
// リファラーを自動設定します
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
//クッキーアドレス
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
// すべてのデータは、HTTP プロトコルの「POST」操作を使用して送信されます。ファイルを送信するには、
// ファイル名の前に @ を付け、フルパスを使用します。このパラメータは URL コード化された文字列として渡すことができます
//「para1=val1¶2=val2&...」と同様、またはキーとしてフィールド名、値としてフィールドデータを持つ配列を使用します
// value が配列の場合、Content-Type ヘッダーは multipart/form-data に設定されます。
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params));
$result =curl_exec($curl);
curl_close($curl);
$result を返します;
}
/**
*リモートダウンロード
* @param string $remote リモート画像アドレス
* @param string $local ローカルに保存されたアドレス
* @param string $cookie cookie address オプションのパラメータは
で表されます
* 一部の Web サイトでは、Web サイト上の画像をダウンロードするために Cookie が必要です
* したがって、Cookie を追加する必要があります
* @return void
* @著者アンディ
*/
public function reutersload($remote, $local, $cookie= '') {
$cp =curl_init($remote);
$fp = fopen($local,"w");
curl_setopt($cp, CURLOPT_FILE, $fp);
curl_setopt($cp, CURLOPT_HEADER, 0);
if($cookie != '') {
curl_setopt($cp, CURLOPT_COOKIEFILE, $cookie);
}
curl_exec($cp);
curl_close($cp);
fclose($fp);
}
}