Я работаю над веб-сканером, чтобы сгенерировать веб-трафик c, подумал, что мне понадобится использовать tor (reset_identity ()) после того, как я зайду на нужный веб-сайт. Также мне нужно мое соединение для выхода через Германию специально. Я работал с парой библиотек (stem и torrequest), каждая из которых зашла в тупик ...
import torrequest
import requests
with torrequest.TorRequest(password=None) as tr:
response = requests.get('http://ipecho.net/plain')
print("My Original IP Address:", response.text)
tr.reset_identity() # Reset Tor
response = tr.get('http://ipecho.net/plain')
print("New Ip Address", response.text)
Работает просто отлично, я получаю два IP-адреса: первый - мой IP адрес и второй узел выхода tor. Но он все еще нужен для выхода через Германию, поэтому я использовал launch_tor_with_config ().
torrequest.launch_tor_with_config(
tor_cmd='/usr/bin/tor',
config={
'ExitNodes': '{DE}' # exiting through Germany
}
)
Но с этого момента я понятия не имею, как обрабатывать запрос get. Я попытался:
import requests
import stem.process
tor_process = stem.process.launch_tor_with_config(tor_cmd='/usr/bin/tor',
config={
'ExitNodes': '{DE}' # exiting through Germany
}
)
response = tor_process.communicate(requests.get('http://ipecho.net/plain'))
print("New Ip Address", response.text)
И он заканчивается кодом 1:
Traceback (most recent call last):
File "/root/PycharmProjects/webtraffic/webtraffic1.py", line 10, in <module>
response = tor_process.communicate(requests.get('http://ipecho.net/plain'))
File "/usr/lib/python3.7/subprocess.py", line 964, in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
File "/usr/lib/python3.7/subprocess.py", line 1667, in _communicate
self.stdin.flush()
ValueError: flush of closed file
Process finished with exit code 1
Я использую гостевую кали linux на хосте windows 10 с python3 .7.
Спасибо большое заранее !!