Что нужно: скачать несколько файлов (немного, скажем, 3-5) с одного хоста. Можно конечно использовать file_get_contents, но это не производительно 1) функция открыват каждый раз новое соединение 2) функция скачивает файл даже если он не поменялся с прошлого скачивания.
Написал мануальный запрос (через сокеты), к сожалению, работает только на http, а если https - нет.
Итак, что я хочу:
1. Подсоединиться к хосту
2. Отправить запрос, в заголовке которого указано, какой файл у меня есть (дата-время и/или etag). Если файл с тех пор обновился, скачать (в память, НЕ на диск), если нет, получить код 304
3. не разрывая соединения, сделать то же самое для второго и третьего файла.
Я не прошу написать за меня, буду признателен если подскажете последовательность функций, которые нужно вызывать, а подробности я уже прочитаю в описании этих функций.
Что НЕ надо 1. параллельное скачивание. 2. записывать скачанные данные на диск.
1. rgl - 11 Марта, 2021 - 17:07:52 - перейти к сообщению
2. Мелкий - 11 Марта, 2021 - 17:48:38 - перейти к сообщению
Смотрите в сторону этих констант:
Для нескольких запросов последовательно в рамках одного tcp коннекта не делайте curl_close, а формируйте следующий запрос в рамках всё того же ресурса.