OS: Linux Mint (ну на Windows тоже проверял)
Python ver: python2
Приветствую.
Цель: создать socket, подключится к socks4 прокси, отправить буффер с информацией о ип сайта, получить recv, далее отправить header и получить recv (html сайта).
Проблема: ничего не выводит, видимо ошибка в буффере. Все перерыл, не понимаю, что не так. Думал, что проблема в плохих проксях и я купил какой-то тариф на сервисе, скачал 4к проксей и цикленно проходился по каждой из списка, но проблема все равно есть.
Не надо говорить про PySocks, я знаю, что она есть. Но мне надо без нее.
Заранее спасибо за помощь <3
Code (перекинул с пастебина сюда, спасибо @Student ):
Python ver: python2
Приветствую.
Цель: создать socket, подключится к socks4 прокси, отправить буффер с информацией о ип сайта, получить recv, далее отправить header и получить recv (html сайта).
Проблема: ничего не выводит, видимо ошибка в буффере. Все перерыл, не понимаю, что не так. Думал, что проблема в плохих проксях и я купил какой-то тариф на сервисе, скачал 4к проксей и цикленно проходился по каждой из списка, но проблема все равно есть.
Не надо говорить про PySocks, я знаю, что она есть. Но мне надо без нее.
Заранее спасибо за помощь <3
Code (перекинул с пастебина сюда, спасибо @Student ):
Python:
import socket
import random
import time
ip2int = lambda ip: reduce(lambda a,b: long(a)*256 + long(b), ip.split('.'))
def haha():
global proxies
global ip
while(True):
try:
print("Creating socket..")
proxy = random.choice(proxies).split(":")
s = socket.socket()
s.settimeout(3)
print("Socket created!")
print("Connecting to socks4 proxy " + proxy[0] + ":" + proxy[1])
s.connect((proxy[0], int(proxy[1])))
print("Connected. Sending payload with ip " + ip)
payload = b"\x04\x01\x00\x50" + bytes(socket.htonl(ip2int( ip ))) + b"\x00"
s.sendall(payload)
print(repr(payload))
print("Payload sended. Getting info..")
print(s.recv(4096))
print("Sending header")
payload = "GET / HTTP/1.1\r\n"
payload += "Host: nodesdirect.com\r\n"
payload += "\r\n"
payload = payload.encode()
s.sendall(payload)
print(s.recv(4096))
print("Header sended! Close connection.. \n")
except Exception as e:
print(str(e) + "\n")
in_file = open("proxylist.txt", "r")
proxyf = in_file.read()
in_file.close()
proxies = proxyf.split('\n')
ip = socket.gethostbyname("nodesdirect.com")
print("\n"+str(len(proxies)) + ' proxies!\n')
haha()
Последнее редактирование: