ホームページ  >  記事  >  バックエンド開発  >  php実践15日目_PHPチュートリアル

php実践15日目_PHPチュートリアル

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

今日もカールを学びましょう


PHP は、curl を操作するための一連のcurl_* 関数を提供します。

一般的に使用されるものは次のとおりです:
 Curl_init は、curl セッションを初期化します
 Curl_close これはもちろんクローズです - -!
 Curl_error は現在のセッションのエラーメッセージを返します
 Curl_errno エラー番号
 Curl_setopt はオプションを設定します。この関数は非常に重要です
 Curl_setopt_array これは上記のcurl_setoptと同じですが、一度に複数のオプションを設定できる点が異なります
 Curl_exec はcurlセッションを実行します

これらはより一般的に使用される機能です。他の機能を使用したい場合は、Google を使用できます。

GET リクエストをシミュレートしてみましょう:

[php]
$ch =curl_init();//ここでセッションが初期化されます
curl_setopt($ch, CURLOPT_URL, 'http://www.google.com');//$ch セッションに関連するアドレスを設定します
curl_exec($ch);//セッションを実行します
curl_close($ch);//セッションを閉じる

$ch =curl_init();//ここでセッションが初期化されます
curl_setopt($ch, CURLOPT_URL, 'http://www.google.com');//$ch セッションに関連するアドレスを設定します
curl_exec($ch);//セッションを実行します
curl_close($ch);//セッションを閉じる
閲覧後はGoogleのホームページの内容がブラウザ上に出力されます。
もし私が彼にアウトプットをさせたくないが、戻ってきたらどうするか?
あとはオプションを追加するだけです。


[php]
$ch =curl_init();//ここでセッションが初期化されます
curl_setopt($ch, CURLOPT_URL, 'http://www.google.com');//$ch セッションに関連するアドレスを設定します
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // ここで、出力したくない、戻りたいことをcurlに伝えます
$data =curl_exec($ch);//実行中にcurlが返されます。はは、素直ですね…
curl_close($ch); //セッションを閉じる

$ch =curl_init();//ここでセッションが初期化されます
curl_setopt($ch, CURLOPT_URL, 'http://www.google.com');//$ch セッションに関連するアドレスを設定します
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // ここで、出力したくない、戻りたいことをcurlに伝えます
$data =curl_exec($ch);//実行中にcurlが返されます。はは、素直ですね…
curl_close($ch); // 上記は GET リクエストをシミュレートするため、次は POST をシミュレートします。 [php] view plaincopyprint?//ここで実験を行うために独自のプログラムを使用しました。 $url = 'http://www.phpfamily.cn/Shop/login?formaction=login';//POST アドレス
$query = 'name=xiaokai&password=xiaokai';//これが提出されたデータです
$ch =curl_init($url);//初期化中に URL アドレスを関連付けます
curl_setopt($ch, CURLOPT_POST, true); //post メソッドを使用したいことをここで伝えます
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);//彼に投稿データを渡します
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//出力したくないけどリターン
$data =curl_exec($ch);//OK、実行後に返されます。
curl_close($ch);//閉じる
echo $data;//ログインが成功したことを示す結果を出力します。

//ここでは実験に独自のプログラムを使用しました.. - -!

$url = 'http://www.phpfamily.cn/Shop/login?formaction=login';//POSTアドレス

$query = 'name=xiaokai&password=xiaokai';//これが入稿データです
$ch =curl_init($url);//初期化中にURLアドレスを関連付けます
curl_setopt($ch, CURLOPT_POST, true); //post メソッドを使用したいことをここで伝えてください
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);//彼に投稿データを渡します
curl_setopt($ch, CURLOPT_RETURTRANSFER, true);//出力したくない、戻りたい
$data =curl_exec($ch);//OK、実行後に返されます。
curl_close($ch);//閉じる
echo $data;//ログインが成功したことを示す結果を出力します。
コードは自分で書きます。コピーしないでください。コピーしても決して学ぶことはできないからです。
上記のコードを実行すると、ログインが成功したことを示すメッセージが表示され、ログインは成功します。
ただし、ログインが保存および更新されない場合、この問題はブラウザが Cookie を有効にしていないことに関連しています。 同じ。それでは、curl 用の Cookie を開いてみましょう。


[php]
$url = 'http://www.phpfamily.cn/Shop/login?formaction=login';//POST アドレス
$query = 'name=xiaokai&password=xiaokai';//これが提出されたデータです
$jar = realpath('cookie.txt');//Cookie が保存されるアドレス
$ch =curl_init($url);//初期化中に URL アドレスを関連付けます
curl_setopt($ch, CURLOPT_POST, true); //post メソッドを使用したいことをここで伝えます
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);//彼に投稿データを渡します
curl_setopt($ch, CURLOPT_COOKIEJAR, $jar);//Cookie ファイルが保存されているアドレスを彼に与えると、Cookie は自動的に保存されます
コンテンツは Cookie ファイルに書き込まれます。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//出力したくないけどリターン
$data =curl_exec($ch);//OK、実行後に返されます
curl_close($ch);//閉じる
echo $data;//ログインが成功したことを示す結果を出力します。

$url = 'http://www.phpfamily.cn/Shop/login?formaction=login';//アドレスにPOSTします
$query = 'name=xiaokai&password=xiaokai';//これが入稿データです
$jar = realpath('cookie.txt');//Cookieによって保存されたアドレス
$ch =curl_init($url);//初期化中にURLアドレスを関連付けます
curl_setopt($ch, CURLOPT_POST, true); //post メソッドを使用したいことをここで伝えてください
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);//彼に投稿データを渡します
curl_setopt($ch, CURLOPT_COOKIEJAR, $jar);//Cookie ファイルが保存されているアドレスを彼に与えると、Cookie は自動的に保存されます
コンテンツは Cookie ファイルに書き込まれます。
curl_setopt($ch, CURLOPT_RETURTRANSFER, true);//出力したくない、戻りたい
$data =curl_exec($ch);//OK、実行後に返されます
curl_close($ch);//閉じる
echo $data;//ログインが成功したことを示す結果を出力します。
CURLOPT_COOKIEJAR オプションを追加するだけでOKです。とても簡単ではないでしょうか。ここに注目してください
CURLOPT_COOKIEJAR の値は絶対パスである必要があります。つまり、指定する Cookie ファイルの保存パスは絶対パスである必要があります。


[php]
$url = 'http://www.phpfamily.cn/Shop/register'; $jar = realpath('cookie.txt');//Cookie が保存されるアドレス
$ch =curl_init($url); curl_setopt($ch, CURLOPT_COOKIEFILE, $jar);// ここに Cookie ファイルを保存するパスを指定します
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $data =curl_exec($ch); curl_close($ch);//閉じる
$data をエコーし​​ます。
$url = 'http://www.phpfamily.cn/Shop/register';
$jar = realpath('cookie.txt');//Cookieによって保存されたアドレス
$ch =curl_init($url);
curl_setopt($ch, CURLOPT_COOKIEFILE, $jar);//ここにCookieファイルを保存するパスを指定します

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$data =curl_exec($ch);
curl_close($ch);//閉じる
$data をエコー;
続けて、上記で Cookie が保存されるため、再度ログインをシミュレートするときに POST する必要がなく、オプションを追加します
CURLOPT_COOKIEFILE は直接ログインできます。
もう一度プレビューすると、ログインしていることが確認されます。このようにすると、ログイン後に Cookie が保存され、送信などのあらゆる操作が可能になります
コメント、メッセージなど




http://www.bkjia.com/PHPjc/477350.html

www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/477350.html技術記事今日からcurlをもう一度学びましょう。PHPにはcurlを操作するための一連のcurl_*関数が用意されています。 以下は一般的に使用されます: Curl_init Curl セッションを初期化します Curl_close これはもちろん閉じられています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。