How to use different IP for HTTP requests
Some servers have more than one IP. In this case (and only in this case) you can choose which IP to use for performing HTTP requests. This is very convenient, when you need to model behaviours of a few independent computers from the same server.
This is different from using proxy!!!
To change your IP, it is necessary to use requests_toolbelt.adapters library and bind your session with new IP address.
So, let’s imagine for example, that the default IP address for your server is 'yyy.yyy.yyy.yyy', but your server also linked with IP address 'xxx.xxx.xxx.xxx'
To check your IP, I will use server iptool.xyz
import requests
from requests_toolbelt.adapters import source
IP = 'xxx.xxx.xxx.xxx' # this is extra server IP
# The default server IP is 'yyy.yyy.yyy.yyy'
source = source.SourceAddressAdapter(IP)
with requests.Session() as session:
session.mount('http://', source)
r = session.get("http://iptool.xyz")
print(r.text) # xxx.xxx.xxx.xxx
x = requests.get("http://iptool.xyz")
print(x.text) # yyy.yyy.yyy.yyy
Published: 2023-02-04 15:41:06