roach-php / core

The complete web scraping toolkit for PHP.

Home Page:https://roach-php.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Question: How to set cookies manually?

LittleHans8 opened this issue · comments

Document: https://roach-php.dev/docs/downloader-middleware/#managing-cookies
I try to write code like this, but it don't work:

    public array $downloaderMiddleware = [
        [CookieMiddleware::class,
            'Set-Cookie'=>'something cookies'
        ]
    ];

I try to custom a middleware like this,and it works:

final class MyCookieMiddleware implements RequestMiddlewareInterface
{
    use Configurable;

    private CookieJarInterface $cookieJar;

    public function __construct(?CookieJarInterface $cookieJar = null)
    {
        $cookies = [
            'key'=>'value',
        ];

        $newCookieJar =CookieJar::fromArray($cookies,"your domain");
        $this->cookieJar = $newCookieJar;
    }

    public function handleRequest(Request $request): Request
    {
        return $request->addOption('cookies', $this->cookieJar);
    }
}