如何使用 Guzzlehttp/guzzle 6 发送 Cookie?

新手上路,请多包涵

我需要发送带有自定义 cookie 的请求。

我试过像这样设置 cookieJar:

 $cookieJar = CookieJar::fromArray(array($cookieName=>$cookieStr),
                    'api.mobra.in');

                $res = $this->guzzleClient->request($requestMethod, $url,
                    [
                        'cookies' => [$cookieJar]
                    ]
                );

但这是一个错误

cookie 必须是 GuzzleHttp\Cookie\CookieJarInterface 的实例

请建议示例或详细解释。我浏览了文件,但没有详细提及。

谢谢!

原文由 steve 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答
use GuzzleHttp\Cookie\CookieJar;

$cookieJar = CookieJar::fromArray([
    'cookie_name' => 'cookie_value'
], 'example.com');

$client->request('GET', '/get', ['cookies' => $cookieJar]);

您可以在 此处 阅读文档。

原文由 Federkun 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 Guzzle 向请求添加 cookie 的另一种方法:

 $url = 'https://www.example.com';
$request_options = [
  'headers' => ['Cookie' => 'COOKIE_NAME=VALUE']
];
$response = $this->httpClient->request('GET', $url, $request_options);

原文由 David Thomas 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏