Интерфейсы к SOCKS5

anonymous-proxy-server

PHP

Используется cURL:

$ch=curl_init("http://www.fbi.gov");

   @curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   // возвращаем результат, а не выводим его в печать
   @curl_setopt($ch, CURLOPT_VERBOSE, 0);
   //запрещаем выводить подробные сообщения о всех действиях
   @curl_setopt($ch, CURLOPT_HEADER, 0);
   // запрещаем Headers
   @curl_setopt($ch, CURLOPT_PROXY, "192.168.0.100:47047");
   //IP адрес и порт SOCKS5
   @curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); 
   //включаем использование SOCKS5
   $x=@curl_exec($ch);

curl_close($ch);

echo $x;
//выводим содержимое страницы в браузер

Python

Используем SocksiPy через wrapmodule()

1. Импортируем SocksiPy и другие модули
2. Запускаем setdefaultproxy() и передаем нужные данные
3. Загружаем целевой модуль внутри модуля wrapmodule()

# Импортируем нужные модули
import ftplib
import telnetlib
import urllib2

# Импортитуем SocksiPy
import socks

# Загружаем прокси
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, 'localhost', 9050)

# Перенаправляем FTP-сессию через SOCKS прокси
socks.wrapmodule(ftplib)
ftp = ftplib.FTP('cdimage.ubuntu.com')
ftp.login('anonymous', 'chicago@ic.fbi.gov')
print ftp.dir('cdimage')
ftp.close()

# Перенаправляем соединение telnet через SOCKS прокси
socks.wrapmodule(telnetlib)
tn = telnetlib.Telnet('achaea.com')
print tn.read_very_eager()
tn.close()

# Перенаправляем HTTP-запросы через SOCKS прокси
socks.wrapmodule(urllib2)
print urllib2.urlopen('http://www.whatismyip.com/automation/n09230945.asp').read()

 

Используем SocksiPy через socksocket

1. Импортируем SocksiPy
2. Загружаем socks.socksocket, который возвращает несколько параметров для socket.socket.
3. Запускаем setproxy() и передаем нужные данные
4. Подключаемся и используем сокет, как обычный…

import socks
s = socks.socksocket()
s.setproxy(socks.PROXY_TYPE_SOCKS5, 'localhost', 9050)
s.connect(('www.whatismyip.com', 80))
s.send('GET /automation/n09230945.asp HTTP/1.1\r\n\r\n')

data = ''
buf = s.recv(1024)
while len(buf):
data += buf
buf = s.recv(1024)
s.close()

print("Connected from %s." % (data))

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *