Я пытаюсь использовать cURL, чтобы одновременно сохранять изображение в файл, а также возвращать заголовки, которые были возвращены при загрузке этого файла для сохранения.PHP cURL для одновременного сохранения изображения и получения ответа заголовка
Причина в том, что существует уникальный cookie, который создается каждый раз, когда изображение загружается и/или сохраняется, поэтому, если я сохраню файл и затем сделаю другой запрос на тот же URL-адрес изображения, чтобы получить файл cookie, cookie не будет надлежащим образом сопряжен с изображением, которое было сохранено (это изображение captcha).
Изображение может быть загружен только один раз, и на этой одной загрузке изображения он должен быть сохранен (без повторного запроса изображения с сервера) и одновременно показать заголовки, так что я могу получить печенье который был создан при загрузке &, сохраняя изображение.
Это то, что у меня есть до сих пор, которое возвращает заголовок и сохраняет файл, но файл поврежден, если рассматривать его как .jpg. если я изменил filetype на .txt, я могу увидеть заголовки, но потом кучу искаженных символов, которые не являются изображением под заголовками. Таким образом, ясно, что файл, который сохраняется, представляет собой комбинацию заголовков, а затем то, что должно быть изображением, я просто не могу получить их отдельно, убедившись, что есть только один запрос для изображения.
function getImageandCookie($ImageURL) {
$rand = rand();
$image_file = $_SERVER['DOCUMENT_ROOT'] . '/image/' . $GLOBALS['id'] . $rand . '.jpg';
$fp = fopen ($image_file, 'w+');
$ch = curl_init($ImageURL);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');
$data = curl_exec($ch);
curl_close($ch);
fclose($fp);
return $data;
}
Подробнее: Я пытаюсь сохранить изображение в файл на моем сервере, одновременно делая заголовки, которые были возвращены при загрузке этого образа для сохранения доступной для остальной части моего сценария.
Если вы загрузите это изображение: http://ipv4.google.com/sorry/image?id=2125815723022350864&hl=en
, вы увидите, что создается файл cookie, который «привязан» к тексту внутри изображения. Если вы перезагрузите изображение или сделаете новый запрос на тот же URL-адрес, создайте новый файл cookie & «пара».
Так что мне нужно загрузить это изображение один раз и сохранить его в файл, одновременно захватив заголовки (так как именно тот файл cookie, который «привязан» к этому конкретному изображению), при этом обязательно запрашивать только изображение время.
Ответ, который я написал ранее, не работал, я все еще пытаюсь понять это, просто чтобы убедиться, что вы хотите сохранить заголовки RESPONSE в файл, не так ли? по этому пути, вы знаете этот сайт https://anti-captcha.com/? Я использую его, и он работает. –
Нет, я хочу сохранить изображение в файл, одновременно создавая заголовки, которые были возвращены при загрузке этого изображения, доступного для остальной части скрипта. Это изображение, которое нужно сохранить в файле. – Learning
Вам нужны заголовки возврата, назначенные переменной, чтобы вы могли использовать их позже в своем скрипте. Правильно ли я это понял? –