ホームページ > バックエンド開発 > PHPチュートリアル > CURL転送・取得関数_PHPチュートリアル

CURL転送・取得関数_PHPチュートリアル

WBOY
リリース: 2016-07-13 10:27:37
オリジナル
800 人が閲覧しました

CURL とは何ですか?
URL 構文を使用してコマンド ライン モードで動作するファイル転送ツールです。多くのプロトコルをサポートしています。認証機能をサポートしています。これは、より複雑な送信関数を実装するために PHP でよく使用されます。
実装された機能:
1. コンテンツのリモート取得と収集を実現します
2. PHP Web バージョンの FTP アップロードとダウンロードを実現します
3. 模擬ログインを実現します: 電子メール システムに移動し、curl は Cookie をシミュレートできます
4. インターフェイスのドッキングを実現します ( API)、データ送信など:プラットフォームを通じてテキストメッセージを送信し、送信された情報を取得して配信します。
5. 模擬Cookie等の実装:一部の属性はログイン時のみ操作可能です。


CURL 関数の使用方法:
デフォルトでは、PHP は CURL をサポートしていません。php.ini でこの関数を有効にする必要があります。
;extension=php_curl.dll の前のセミコロンを削除します
1 全体の最初のステップ。操作は、cur_init() 関数を使用して初期化することです
$curl =curl_init('www.php100.com')
2.curl_setopt() 関数を使用してオプションを設定します。
3. 設定後、トランザクションcurl_exec($curl)を実行します
4 最後にcurl_close();を閉じます。

PHP CURL を使用して送信および取得関数を実装します (送信後メソッド): リモート Web ページ データを取得します
$user = "admin";
$pass = "admin100";
$curlPost = "user=$user&pass=$pass ";
$ch =curl_init(); //CURL オブジェクトを初期化します
curl_setopt($ch, CURLOPT_URL, "http://localhost/edu/login.php");
//クロールする必要がある URL を設定します
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 0);
//curl パラメータを設定し、結果を画面に出力するかどうかを尋ねます。 true の場合、上記の 0 は Web ページに返されません。 1 ずつ、次の $data をエコーするだけです。
curl_setopt($ch, CURLOPT_POST, 1);
//投稿投稿
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);

$data =curl_exec($ch);

//curl を実行し、Web ページをリクエストします。

curl_close($ch);
リモート模擬ログインの最も基本的な部分を実現します。
curl ではユーザー名とパスワードを設定する必要がありますが、ブラウザーによって非表示になります。
================================================ === ===========================
curl 模擬ログイン

シミュレートされたログイン: php100 フォーラムにログインしなくても、対応する情報を表示できます。

ログインフィールドを分析する --->ログイン後に Cookie のステータスを保持する --> Cookie を読み取り、関連するページにジャンプする --> クロール数

1. ログインをシミュレートした後、Cookie の内容を保存するファイルを作成します
2. パスを読み取ります。ユーザーのログインステータスをシミュレートするために生成された Cookie コンテンツ
3. 関連するページに移動して、必要なコンテンツを取得します

tempname は一時ファイルを作成します

tempnam() 関数は一意のファイル名を持つ一時ファイルを作成します。成功すると、関数は新しい一時ファイル名を返します。失敗した場合は false を返します。

tempnam(dir,prefix)
パラメータの説明
dir が必要です。一時ファイルを作成するディレクトリを指定します。
接頭辞が必要です。ファイル名の先頭を指定します。
fopen  fwirte  fclose と同等
ブール値を返すことができます。サードパーティを使用して QQ および msn にログインすることは、ログイン ステータスが記録され、ユーザー名とパスワードがキャプチャされる可能性があるため、非常に危険です。

CURL を使用して PHP100 フォーラムへのログインをシミュレートします

1. ログインに必要な入力ボックスのフィールド名と必須フィールドの数を分析します

2. Cookieを保存し、ログインをシミュレートした後、会員ゴールドコインの数を取得します

コード:

//cURL オブジェクトを初期化します

$curl =curl_init();


//クロールする必要がある URL を設定します

curl_setopt($curl, CURLOPT_URL, "http://www.baidu.com");


//結果を文字列で保存するか画面に出力するように cURL パラメーターを設定します。

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);


//cURL を実行して Web ページをリクエストします

$data =curl_exec($curl);


//URL リクエストを閉じる

curl_close($curl);


$user = "admin";

$pass = "admin100";
$curlPost = "user=$user&pass=$pass";
$ch =curl_init();
curl_setopt($ch, CURLOPT_URL, "http: //localhost/curl/login.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);
curl_close($ch);

?>

if($_POST['user']=="admin"){

echo "<script>alert('success')</script>";
}else{
echo "< ;script>alert('failed')";
}
//print_r($_POST);
?>

======

模擬ログインコード

pw_php100.php
$cookie_file=tempnam('./temp','cookie');
$login_url="http://bbs.php100.com/login.php";
$post_fields= "cktime=3600&step=2&pwuser=php100&pwpwd=11111";
$ch=curl_init($login_url);
curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com";
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
$data =curl_exec($ch);
curl_close ($ch);

$url="http://bbs.php100.com/userpay.php";
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
$contents =curl_exec($ch);
preg_match("/

  • 金钱:
  • /",$contents,$arr);
    echo $arr[1];
    curl_close($ch);

    ?>

    ======

    ログイン.php

    print_r($_POST);

    ?>

    ====================

    curl.php

    $curlPost = "user=$user&pass=$pass";
    $ch =curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://localhost/edu/login.php");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch 、CURLOPT_POSTFIELDS、$curlPost);
    $data =curl_exec($ch);
    curl_close($ch);
    ?>

    www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/815971.html技術記事あれはCURLですか? URL 認証法を利用した、優れたコマンド実行方式で動作するファイル転送ツールです。非常に多くの認証機能がサポートされています。php では、より強力な転送機能が実現されています...
    関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    最新の問題
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート