Как я могу найти, куда я буду перенаправлен с помощью cURL?

Вы можете моделировать свои действия как команды , которые вы держите в двух стеках. Один для отмены, другой для повтора. Вы можете скомпоновать команды для создания более высокоуровневых команд, например, когда вы хотите отменить действия макроса; или если вы хотите группировать отдельные нажатия одного слова или фразы в одном действии.

Каждое действие в вашем редакторе (или повторное действие) генерирует новую команду отмены, которая поступает в стек отмены ( а также очищает стек повтора). Каждое действие отмены создает соответствующую команду redo, которая переходит в стек повтора.

Вы также можете, как упоминалось в комментариях derekerdmann , объединить команды отмены и повтора в один тип команды, которая знает, как отменить и повторить действие.

145
задан SparK 17 July 2017 в 20:02
поделиться

1 ответ

Чтобы заставить cURL следовать перенаправлению, используйте:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

Эмм... Я не думаю, что вы действительно выполняете curl... Попробуйте:

curl_exec($ch);

... после установки опций и перед вызовом curl_getinfo().

EDIT: Если вы просто хотите узнать, куда перенаправляет страница, я бы воспользовался советом здесь, и просто использовал Curl для захвата заголовков и извлечения из них заголовка Location::

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
if (preg_match('~Location: (.*)~i', $result, $match)) {
   $location = trim($match[1]);
}
247
ответ дан 23 November 2019 в 22:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: