Действительно ли, если передать через cURL поддельный IP адрес в заголовке, то удаленный сервер будет получать именно указанным IP, а не адрес с где размещен скрипт? И будет ли Яндекс Метрика получать с указанного IP?
Извините за глупый вопрос!
Подменить чей IP? Клиента?
Ну, можно пользоваться прокси, IP будет другим.
Можно в заголовок дописать X-Forwarded-For - говносайт схавает, нормальный нет.
curl не выполняет js - никакая метрика вызвана не будет.
Забанят IP. Если напрямую - IP скрипта, если через прокси - IP прокси.
Соцсети пишут достаточно умные разработчики, чтобы не клюнуть на X-Forwarded-For. И, более того, они быстро вычислят ваш скрипт по поведению, хоть будете пользоваться тысячей прокси - и ваш скрипт забанят уже с любым IP.
Diversia: тогда да, используйте опции для cURL, которые я указал выше.
Ну и соглашусь с Boris Korobkov, сервисы могут забанить IP proxy-сервера, потому придётся позаботиться о запасных адресах. К примеру у меня в подобных проектах используется набор серверов, и если я получаю неоднозначный ответ (пустой, нет ожидаемых данных или они не полные, или же прямой признак блокировки), то адрес я блокирую в своей таблице и беру для следующих запросов новый. Но в этом случае авторизацию (если она нужна) и прочие вещи придётся повторять алгоритму с нуля.