ホームページ  >  記事  >  バックエンド開発  >  curl クラス。get、post、curl をシミュレートするために使用できます。 download_PHP チュートリアル

curl クラス。get、post、curl をシミュレートするために使用できます。 download_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-14 10:10:52846ブラウズ

[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 =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 データを含むファイルの名前。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);
}

}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/477445.html技術記事 [php] ?php class Curl { /* * アクセスする指定アドレスを取得するメソッドを取得 * @param string url アクセスするアドレス * @param string cookie Cookie の保存アドレス。そうでない場合、Cookie は保存されません。送信しました * @retu...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。