Как сказать curl использовать клиенты ip не серверы? - PullRequest
1 голос
/ 23 января 2010

Я использую curl для получения некоторой информации с веб-сайта, однако он использует IP-адрес сервера, но я хочу, чтобы он использовал IP-адрес клиента, поэтому каждый пользователь отправляет запрос со своим собственным IP-адресом, а не с серверов, как это возможно?

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "URL");
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
$buffer = curl_exec($ch);
curl_close($ch);

Ответы [ 3 ]

3 голосов
/ 23 января 2010

Это не так. IP-адрес сервера отправляется, поскольку веб-сайт, на который вы просматриваете, должен знать, куда отправлять данные обратно.

Если вы в конечном итоге подделали IP-адрес, на который CURL не способен (вам нужно что-то, что манипулирует необработанными пакетами / сокетами), ваш код никогда не увидит ответ.

1 голос
/ 23 января 2010

Хех, это невозможно. Вы не можете использовать чужой IP-адрес в качестве исходного адреса для вызовов (за исключением случаев, когда вы неправильно используете их в качестве прокси-сервера или, конечно, подделываете адреса).

Если вы уточните, чего хотите достичь, возможно, кто-то придумает обходной путь.

0 голосов
/ 24 января 2010

PHP не работает на компьютере клиента. Любые сетевые подключения через PHP будут выполняться с вашим веб-сервером в качестве подключающегося клиента. Это может помочь, если вы представляете это следующим образом: когда клиент обращается к вашей странице PHP, PHP запускается на вашем сервере и генерирует страницу HTML. Это та сгенерированная HTML-страница, которая отправляется по сети клиенту, а не ваш PHP-код. PHP - это просто инструмент для динамического создания HTML-страниц.

Единственное решение, которое я вижу, - динамически изменять URL-адрес iframe, а затем использовать javascript для анализа содержимого iframe. Если вы хотите, чтобы информация возвращалась вам, вы можете использовать подпрограммы AJAX для подключения и доставки любой информации, которую ваш javascript собрал из iframe.

...