.
Место для Вашей рекламы
10 Март 2010

GET запрос в PHP с разных IP адресов

posted in SEO, Полезности, Программирование |

Всем привет!

2 недели ничего не писал — был в отпуске — времени совсем на онлайн не было !
Отдохнул в кавычках — с двумя детьми ( 01.02.2010 девочку Катю родили ) отдых получается специфический 😉

Ладно — потихоньку нужно входить в рабочее русло, и первый пост после отпуска я решил написать в помощь программистам пишущим разнообразные парсеры и граберы реазизующим сию задачу на PHP и ещё не ведающим как же можно организовать GET запрос с разных IP адресов.

Про эту задачу вспомнил при реализации Яндекс Wordstat парсинга (сервис будет «прикручен» к моему сервису MySEO для управления ссылками на своих ресурсах), кстати ноль ноль ноль первая бета версия уже готова 🙂

ИТАК на PHP мне известны 2 метода запроса с разных айпишников:

Первый с использованием библиотеки curl — нужно заюзать опцию CURLOPT_INTERFACE
Второй на сокетах — для привязки айпишника нужно использовать socket_bind

вот рабочий код:

CURLOPT_INTERFACE";

	$get = curl_init();
	curl_setopt($get, CURLOPT_URL, $url); 
//	curl_setopt($get, CURLOPT_INTERFACE,'87.118.116.130'); 
	curl_setopt($get, CURLOPT_INTERFACE,'87.118.117.130'); 
	curl_setopt($get, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($get, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($get, CURLOPT_TIMEOUT, 60);

	$buf = curl_exec($get);
	echo $buf;

	echo "

socket_bind

"; $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Unable to create socket\n"); // socket_bind($sock, '87.118.116.130'); socket_bind($sock, '87.118.117.130'); socket_connect($sock, 'gtalex.ru', 80); $request = "GET /seo/ip.php HTTP/1.1\r\n"; $request .= "Host: gtalex.ru\r\n"; $request .= "Connection: Close\r\n\r\n"; socket_write($sock, $request); $buff= ""; do { $recv = ""; $recv = socket_read($sock, '1400'); if($recv != "") { $buff .= $recv; } } while($recv != ""); socket_close($sock); echo $buff; ?>

В моем случае имею два подопытных айпишника 87.118.117.130 и 87.118.116.130
По умолчанию используется 87.118.116.130. В вышеупомянутом скриптике я двумя способами подменяю айпишник на 87.118.117.130
Для просмотра результатов использую скриптик отображающий откуда его дёргают http://gtalex.ru/seo/ip.php

Приятного граббинга !

У нас 13 комментариев на запись “GET запрос в PHP с разных IP адресов”

Почему бы Вам не высказать своем мнение! Позвольте нам узнать, что Вы думаете...

  1. 1 On 10.03.2010, Денис said:

    Здорово!

  2. 2 On 11.03.2010, blogwork said:

    Поздравляю с рождение ребенка ! Про скрипт подумаю, не совсем еще въехал. .

  3. 3 On 11.03.2010, Павел said:

    Поздравляю с пополнением! А за статью спасибо, обязательно испытаю сий прогресс на деле))

  4. 4 On 11.03.2010, my-cash.net said:

    Я так понял, указываемые IP должны быть привязаны к серверу?
    Если так, почему бы тогда просто не использовать прокси?

  5. 5 On 11.03.2010, GTAlex said:

    зачем прокси юзать если есть свои ?

  6. 6 On 13.03.2010, Stimerex-Es said:

    Спасибо большое в поиске нету простите ) Снова проявление ментального поля!
    mycash net настоящий капитан! )))))

  7. 7 On 14.03.2010, der said:

    Действительно удивили и порадовали
    Никогда не поверил бы,
    http://www.ucoza.ru
    что даже такое бывает

  8. 8 On 22.03.2010, Виктор said:

    Поздравляю с пополнением!
    Завидую работоспособности — у меня и с полугодовалым сыном времени на блог как-то не выдается.

  9. 9 On 28.12.2010, miki said:

    интересует подобный скрипт
    для получения информации WHOIS
    с подменой IP

    Если есть подобное пришлите на мыло
    mikirada@yandex.ru

    Спасибо

  10. 10 On 11.02.2011, Крот said:

    Интересно из тех кто тут отписывался пробовал хоть кто то запускать скрипт? Fatal error: Call to undefined function curl_init() in ………

  11. 11 On 11.02.2011, GTAlex said:

    у тебя либа curl не подключена в php

  12. 12 On 19.04.2011, Gollandes said:

    Первым способом ответа не показывается (возможно ушел по ложному IP)
    По второму дает ошибку:
    Warning: socket_bind() [function.socket-bind]: unable to bind address [0]: Требуемый адрес для своего контекста неверен. in Z:\home\pr.pr\www\index.php on line 21
    и выдает реальный IP.
    А как можно проверить первый способ без второго подопытного IP?

  13. 13 On 27.06.2012, На каком ip работает php « IT remarks said:

    […] погуглив я нашел здесь: GET запрос в PHP с разных IP адресов, целых два способа это […]

Оставить комментарий

Яндекс.Метрика