Python 3 requests kütüphanesi ile farklı IP adreslerinden çıkış yapabilmek için socket kütüphanesini kullanarak çıkış IP adresini sadece o anlık değiştirebiliriz.
NOT: Çıkış yapılacak IP adreslerinin sunucuya yönlendirilmiş ve sunucudaki IP adreslerinin tanımlandığı (netplan gibi) servise eklendiğinden emin olun.
NOT: /etc/sysctl.conf da ip yönlendirmeyi aktifmeyi unutmayın. net.ipv4.ip_forward=1
import socket
import requests
import urllib3
urllib3.disable_warnings()
true_socket = socket.socket
from random import socket
def make_bound_socket(source_ip):
def bound_socket(*a, **k):
sock = true_socket(*a, **k)
sock.bind((source_ip, 0))
return sock
return bound_socket
socket.socket = make_bound_socket(f'123.124.125.{randint(1,254)}')
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'}
session = requests.Session()
session.headers.update(headers)
response = session.get('http://ip-api.com/json/', verify=False)
print(response.text)
Python
hakkında diğer konular