php Guzzle携帯クッキーリクエスト

1854 ワード

今日嫁が仕事をしているのを見て、あるシステムから別のシステムデータに導入して、一度に一回の操作が面倒で、いっそphpで足の元を書いてデータを取り、シミュレーション提出を通じてデータの移行を実現したいと思っています.
以前はずっとphp-curlバッグを使っていたのですが、最近Guzzle http clientが火をつけているのを見て、体験しようと思います.
インストール方法composerを使用してインストールします.
composer require guzzlehttp/guzzle
私が使っているのはGuzzle 6、最新版です.以下は公式ドキュメントです.英語の能力がいいので見てもいいです.
http://docs.guzzlephp.org/en/stable/
しかし、公式にはクッキーについての説明は少なく、以下の紹介しかありません.見てみてください.
http://docs.guzzlephp.org/en/stable/request-options.html#cookies
文書は、GuzzleHttp\Cookie\CookieJarInterfaceクラスをインスタンス化する必要があることを意味します.そうすれば、伝達されます.
しかし、具体的な例については説明していませんが、今日は以下のような使用方法について整理しました.
クッキーを携帯してリクエスト:
use GuzzleHttp\Client;
use GuzzleHttp\Cookie\CookieJar;

$cookieJar = CookieJar::fromArray([
            'PHPSESSID' => 'b68212de1826c64d77b69dc514c2a9cb'
        ], 'www.devkang.com');  //                 url host  ,       cookie。

$client = new Client([
            'cookies' => $cookieJar,
          ]);
$result = $client->get('http://www.devkang.com/');

print_r($result->getBody()->getContents());

以下も同様の効果が得られます.
use GuzzleHttp\Client;
use GuzzleHttp\Cookie\CookieJar;

$cookieJar = CookieJar::fromArray([
            'PHPSESSID' => 'b68212de1826c64d77b69dc514c2a9cb'
        ], 'www.devkang.com');  //                 url host  ,       cookie。

$client = new Client();
$result = $client->get('http://www.devkang.com/', [
           'cookies' => $cookieJar,
          ]);
 
print_r($result->getBody()->getContents());

この時、クッキーリクエストに必要なデータを携帯することができます.
2時間もかけてやっと嫁のシステムデータを全部書き終え、その後はコンソールコマンドを実行するだけで自動的にデータが導入され、嫁の両手が解放された.科学技術が未来を変えるという話はうそではない.
嫁は今晩おいしいものを奨励します!
この文書のソース:http://www.devkang.com/php-guzzle-request-cookie