Делаю curl запрос к сайту, к определенному url адресу, но он выдает ошибку если мои куки пустые. Сделав запрос второй раз к этому же url он дает нормальный ответ, т.к. куки уже есть (если я их записал)
Мне конечно не сложно сделать лишний запрос к сайту, чтобы сначала получить куки, а затем уже обращаться к нужному url и получать нужные данные. НО!! Суть в том, что лишний запрос - это потеря времени, а самое главное при многопоточном режиме это скажется и уменьшится КПД.
Вопрос: Как все же лучше поступить в данном случае?
1) не париться и делать сначала запрос получения куков для каждого запроса.
2) записать куки 1 раз и брать их за основу, а новые куки которые получаю - записывать отдельно в cookie_id_order?
* Поясню, куки записываются не просто так, сервер дает мне задание, потом я отправляю ему ответ, он идентифицирует по кукам и проверят мой ответ, поэтому для каждого заказа я делаю cookie_id_order т.е. уникальный файл.
* Опять же, возникает много вопросов, скорее всего куки имеют период жизни, как узнать сколько они будут жить чтобы настроить авто обновление куков?)
3) Ваш вариант :)
Us59, а гугл отключили ? ))
на разных ЯП по разному... на клиентском JS вроде как-то можно получить время жизни куки.
ну и .... время жизни, оно дается для клиента/браузера и браузер сам удаляет куки по истечении, сервер вроде как не в курсе когда была кука выдана и когда ей конец, не, ну если это не сессионная кука, сессия конечно может кончиться.
ну и в конце концов можно просто поставить обработчик, если сервер со старыми куками послал, то запрашиваем новые и далее работаем, это же все равно что "обновление" и делается реже, только по наступлению факта истечения кук.
Us59, да никак, если вы не хозяин сайта. обычно это некий ключ типа md5 с названием типа session_id, но это не обязательно.
просто при каждом запросе того что берете, обновляете свои сохраненные куки, сервер же постоянно что-то отдает. ну а если он перестал отдавать то что надо, тогда начинаете сначала, запрашиваете авторизацию или что там у вас.
* Поясню, куки записываются не просто так, сервер дает мне задание, потом я отправляю ему ответ, он идентифицирует по кукам и проверят мой ответ, поэтому для каждого заказа я делаю cookie_id_order т.е. уникальный файл.
* Опять же, возникает много вопросов, скорее всего куки имеют период жизни, как узнать сколько они будут жить чтобы настроить авто обновление куков?)