ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルでよく使用される Curl 関数の 2 つの例

php_PHP チュートリアルでよく使用される Curl 関数の 2 つの例

WBOY
WBOYオリジナル
2016-07-13 10:39:25668ブラウズ

例、模擬ログイン

コードは次のとおりです
/**
* ログインをシミュレートします
* $urlリクエストアドレス
* $postにはPOSTデータが必要です
* $cookie はログイン時に取得される COOKIE です
* $cookiejar Cookie が保存される場所 (/tmp/test.cookie
など) * $referer 前のページのアドレス
*
**/
function vcurl($url, $post = '', $cookie = '', $cookiejar = '', $referer = ''){
$tmpInfo = '';
//Cookie の保存に使用されるファイル
//curlを初期化します
$curl =curl_init();
// ターゲット URL を設定します
curl_setopt($curl, CURLOPT_URL, $url);
//現在使用されているブラウザ プロキシを使用します
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
//curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.0)");
//Ref パラメータがある場合は、Referer ヘッダーを設定します。そうでない場合は、Referer ヘッダーが自動的に設定されます
if($referer) {
curl_setopt($curl, CURLOPT_REFERER, $referer);
} その他 {
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
}
//投稿データパラメータがある場合、メソッドは POST でデータを設定します。それ以外の場合は GET です
if($post) {
// 通常の POST リクエストを送信します。デフォルトのタイプは次のとおりです: application/x-www-form-urlencoded、www.111cn.net フォーム送信
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
}
//Cookieパラメータがある場合は設定します
if($cookie) {
curl_setopt($curl, CURLOPT_COOKIE, $cookie);
}
//Cookieファイルパラメータがある場合は、アクセスCookieファイル名を設定します
if($cookiejar) {
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookiejar);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookiejar);
}
//302転送の場合は転送したURLとコンテンツを返す
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
//実行の最大秒数を設定します
curl_setopt($curl, CURLOPT_TIMEOUT, 100);
//返されたコンテンツにヘッダー情報が含まれているかどうか
curl_setopt($curl, CURLOPT_HEADER, 0);
//返された結果をブラウザに直接表示するのではなく、ファイルまたは変数に保存します
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//関数実行後の戻り結果
$tmpInfo =curl_exec($curl);
//エラーが発生した場合はエラーメッセージを表示
if (curl_errno($curl)) {
$tmpInfo = '
エラー:
'.curl_error($curl);
}
//カールオブジェクトを閉じる
curl_close($curl);
//結果を返す
$tmpInfo を返します;
}

例子、石鹸

代码如下
関数 vcurlsoap($url, $SoapRequest, $SoapAction) {
$ch =curl_init(); //カールセッションを開始します
curl_setopt ( $ch 、 CURLOPT_URL 、 $url ); //投稿先のURLを設定
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); // データを変数で返します
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch 、 CURLOPT_POSTFIELDS 、 $SoapRequest ); // XML を投稿します
curl_setopt ( $ch, CURLOPT_TIMEOUT, 60 ); // タイムアウトを秒単位で設定します
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
$header = array ("Content-Type: text/xml" );
$header [] = "コンテンツの長さ: ".strlen($SoapRequest);
if (! is_null ( $SoapAction ))
$header [] = 'SOAPAction: "' . $SoapAction . '"';
curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );
$xmlResponse =curl_exec ( $ch );
curl_close ( $ch );
$xmlResponse を返す;
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/730240.html技術記事例子, 模拟登陆代码如下 /** * 模拟登陆 * $url 请求地址 * $post 必要POST的データ * $cookie 登陆時取的COOKIE * $cookiejar cookie要存位置 例...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。