С нами с 27.05.03
Сообщения: 95
Рейтинг: 6
|
Добавлено: 08/02/06 в 23:34 |
плз подскажите как обратиться к whois через прокси
на данный момент у меня есть 2 рабочих куска кода, первый
открывает адрес через прокси, а второй обращается к хуис напрямую.
насколько понимаю нужно сделать их "гибрид", как именно ?
Код: |
$proxy_sock = "68.250.64.89";
$sock_port = 8941;
$proxy_http = "195.246.155.194";
$http_port = 80;
$request_url = "http://www.google.com/";
$whois_server = "whois.verisign-grs.com";
$domain = "domain google.com";
//открывает адрес через прокси
/*
$proxy_fp = fsockopen($proxy_http, $http_port);
if (!$proxy_fp) {
echo "error opening proxy";
}
else {
fputs($proxy_fp, "GET $request_url HTTP/1.0\r\nHost: $proxy_http\r\n\r\n");
while(!feof($proxy_fp)){
$line = fgets($proxy_fp, 4000);
print($line);
}
echo "Success !";
}
fclose($proxy_fp);
*/
//обращается к хуис напрямую
/*
$whois_server = "whois.verisign-grs.com";
$domain = "domain google.com";
$connection = @fsockopen($whois_server, 43);
if (!$connection) {
unset($connection);
$this->msg = "Can't connect to the server $whois_server !";
return;
}
else
{
sleep(2);
fputs($connection, "$domain\r\n");
while (!feof($connection)) {
$line = fgets($connection, 4096);
echo $line."<BR>";
}
}
fclose($connection);
*/
|
|
|
|
|
/dev/awm
С нами с 05.02.04
Сообщения: 2300
Рейтинг: 1127
|
Добавлено: 08/02/06 в 23:53 |
эти два кода не объединяются.
это как яблоки с валенками соединять.
первый код для работы с http-прокси, а второй для работы по протоколу whois, которые протоколом http не является.
|
|
|
|
С нами с 27.05.03
Сообщения: 95
Рейтинг: 6
|
Добавлено: 08/02/06 в 23:56 |
насколько я понимаю можно сделать это через SOCKS proxy,
поэтому я подготовил
Код: |
$proxy_sock = "68.250.64.89";
$sock_port = 8941;
|
код привел чтобы не говорить на пустом месте. если знаешь как правильно - плз подскажи
|
|
|
|
БешаныйСуслег
С нами с 16.06.04
Сообщения: 1322
Рейтинг: 1338
|
Добавлено: 09/02/06 в 00:14 |
erotofun писал: | насколько я понимаю можно сделать это через SOCKS proxy
|
прально понимаешь. Только код у тебя не для SOCKS, а для HTTP Proxy
JpS писал: |
это как яблоки с валенками соединять...
|
Супер!
|
|
|
|
С нами с 27.05.03
Сообщения: 95
Рейтинг: 6
|
Добавлено: 09/02/06 в 00:36 |
ghood писал: | Только код у тебя не для SOCKS, а для HTTP Proxy
|
спасибо что просветил. а по делу что-нибудь слабо ?
|
|
|
|
С нами с 09.09.05
Сообщения: 148
Рейтинг: 129
|
Добавлено: 09/02/06 в 14:39 |
с SOCKSами геморно работать.
берем ХТТП проксю (должен поддерживать метод CONNECT).
коннектимся.
говорим ей "CONNECT $whois_server:43"
прокся ответит что-то вроде "конекшн эстабилишед"
все. туннель открыт.
дальше шли запросы к whois
ЗЫ: попробуй телнетом и ручками, чтоб понять что к чему. код писать влом ибо нет прокси.
|
|
|
|
С нами с 27.05.03
Сообщения: 95
Рейтинг: 6
|
Добавлено: 09/02/06 в 15:38 |
Вот прокся рабочая (HTTP ) - 200.43.108.212 8080
проверил через телнет
>telnet 200.43.108.212 8080
>Trying 200.43.108.212...
>Connected to 200.43.108.212.
>Escape character is '^]'.
>GET http://www.google.com/ HTTP/1.0
---------------------------------------------
также проверил прямое обращение к хуис
>telnet whois.crsnic.net 43
>Trying 198.41.3.54...
>Connected to whois.crsnic.net.
>Escape character is '^]'.
>domain google.com
>Whois Server Version 1.3
>Domain names in the .com and .net domains can now be registered
.....
-----------------------------------
вопрос тот-же - как сделать whois через прокси
плз с конкретным кодом на PHP
P.S. рабочая SOCKS4 прокся 200.43.37.240:1080
|
|
|
|
С нами с 09.09.05
Сообщения: 148
Рейтинг: 129
|
Добавлено: 10/02/06 в 15:36 |
лови
Код: | <?
$proxy_ip = "200.66.191.1";
$proxy_port = 80;
$whois_server = "whois.crsnic.net:43";
$domain = "google.com";
$sock = fsockopen($proxy_ip, $proxy_port, $errno, $errstr);
if(!$sock) {
echo("$errno($errstr)");
return;
}
fputs($sock, "CONNECT ".$whois_server."\r\n");
do $ans = fgets($sock, 1024);
while(trim($ans) != "");
fputs($sock, "domain ".$domain."\r\n");
while(!feof($sock)) {
echo fgets($sock, 1024)."<br>";
}
fclose ($sock);
?> |
еще раз повторюсь: прокся должна поддерживать метод CONNECT, иначе ничего не будет. в коде я не делал проверку на ответ прокси, предполагается, что поддерживает... хочешь - сам допишешь
та прокся, что ты дал не поддерживает.
дальше включай голову, за тебя никто работать не хочет
ЗЫ: Цитата: | Вот прокся рабочая (HTTP ) - 200.43.108.212 8080
проверил через телнет
>telnet 200.43.108.212 8080
>Trying 200.43.108.212...
>Connected to 200.43.108.212.
>Escape character is '^]'.
>GET http://www.google.com/ HTTP/1.0
|
надо вместо GET юзать CONNECT. гугля рулит!
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |