ホームページ  >  記事  >  バックエンド開発  >  PHPのcurl_init関数の使い方チュートリアルを詳しく解説

PHPのcurl_init関数の使い方チュートリアルを詳しく解説

WBOY
WBOYオリジナル
2016-07-25 08:52:281136ブラウズ
  1. //cURLオブジェクトを初期化します
  2. $curl =curl_init();
  3. //クロールする必要があるURLを設定します
  4. curl_setopt($curl, CURLOPT_URL, 'http://bbs.it -home.org');
  5. //ヘッダーを設定します
  6. curl_setopt($curl, CURLOPT_HEADER, 1);
  7. //結果を文字列で保存するか画面に出力するように cURL パラメーターを設定します。
  8. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  9. //cURL を実行し、Web ページをリクエストします
  10. $data =curl_exec($curl);
  11. //URL リクエストを閉じます
  12. curl_close($curl);
  13. //取得したデータ
  14. var_dump($data);
  15. ?>
コードをコピー

例2、POSTデータ sendSMS.php。2 つのフォーム フィールドを受け入れることができます。1 つは電話番号、もう 1 つはテキスト メッセージの内容です。 POSTデータ

  1. $phoneNumber ='13812345678';
  2. $message ='このメッセージはcurlとphpによって生成されました';
  3. $curlPost='pNUMBER='。&MESSAGE。 =' .urlencode($message) .'&SUBMIT=Send';
  4. $ch =curl_init();
  5. curl_setopt($ch, CURLOPT_URL, 'http://www.lxvoip.com/sendSMS.php');
  6. curl_setopt ($ch, CURLOPT_HEADER, 1);
  7. curl_setopt($ch, CURLOPT_POST, 1);
  8. curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); ( $ch);
  9. ?>
  10. コードをコピー
例 3、プロキシ サーバーを使用します。

$ch =curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://bbs.it-home.org');
  1. curl_setopt($ch, CURLOPT_HEADER, 1 );
  2. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  3. curl_setopt($ch, CURLOPT_HTTPPROXYTU NNEL, 'user:password');
  4. $data =curl_exec();
  5. curl_close($ch); ?>
  6. コードをコピー
  7. 例 4、ログインをシミュレートします。 Curl は、DZ7.0 に適したログイン ディスカス プログラムをシミュレートします。ユーザー名を自分のユーザー名に変更し、ユーザーパスを自分のパスワードに変更します。 Curl シミュレートされたログイン ディスカス プログラム

!extension_loaded('curl') && die('curl 拡張機能がロードされていません。'

$discuz_url = 'http://bbs.it-home.org';//フォーラムのアドレス

$login_url = $discuz_url .'/logging.php?action=login';//ログインページのアドレス
    $get_url = $discuz_url .'/ my.php?item=threads'; //私の投稿

  1. $post_fields = array();

  2. //次の 2 つの項目は変更する必要はありません
  3. $post_fields['loginfield'] = ' username';
  4. $post_fields['loginsubmit'] = 'true';
  5. //ユーザー名とパスワードを入力する必要があります
  6. $post_fields['username'] = 'lxvoip'; = '88888888' ;
  7. //セキュリティの質問
  8. $post_fields['answer'] = ''; '; < /p>
  9. //FORMHASH を取得

  10. $ch =curl_setopt($ch, CURLOPT_HEADER, 0); $contents =curl_exec ($ch);
  11. curl_close($ch);
  12. preg_match('// i', $contents, $matches);
  13. if(!empty($matches)) {
  14. $formhash = $matches[1]
  15. } else {
  16. die('フォーラムハッシュが見つかりません。') ;
  17. } < ;/p>
  18. //COOKIE を取得します

  19. $cookie_file = dirname(__FILE__)
  20. //$cookie_file = tempnam('/tmp');
  21. $ch =curl_init($login_url);
  22. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  23. curl_setopt($ch, CURLOPT_POST, 1); ch、CURLOPT_POSTFIEL DS, $post_fields) ;
  24. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
  25. curl_close($ch);

  26. 上記で取得した COOKIE を取得します

  27. $ch =curl_init($get_url);
  28. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); );
  29. $ content =curl_exec($ch);
  30. curl_close($ch);

  31. var_dump($contents);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。