Как использовать серверы nordvpn в качестве прокси-серверов для запросов Python? - PullRequest
0 голосов
/ 08 июля 2019

Не спрашивайте, как, но я проанализировал конечные точки серверов более 5000 серверов nordvpn.Обычно это что-то вроде ar15.nordvpn.com, например.Я пытаюсь использовать серверы nordvpn в качестве прокси-серверов запросов.Я знаю, что это возможно, потому что у nordvpn есть учебник по его настройке в браузерах, использующих порт 80. Nordvpn допускает только 6 одновременных подключений одновременно.Моя проблема в том, что я делаю для каждого сервера, я пошлю запрос с этим прокси-сервером vpn.После отправки запроса он заканчивается.Но по какой-то причине даже после того, как запрос завершен, соединение vpn каким-то образом выглядит как соединение, потому что после 6-го запроса оно не срабатывает.Я знаю, что nordvpn допускает только 6 соединений одновременно, но это одно соединение за другим.Самое странное, что они сразу проходят снова после перезапуска скрипта (пока он не достигнет 6-го запроса).Так что это не ограничение скорости nordvpn, а каким-то образом запросы поддерживают установленное соединение.

То, что я пробовал до сих пор, - это запрос r / learnpython.Они были бесполезны.Разногласия с питоном далеко ушли от меня, но в конечном итоге проблему не решили.Я указал на закрытие соединения в заголовке запроса и даже использовал сеансы запроса, с синтаксисом для этих сеансов и вручную закрывал сеанс, даже если with должен позаботиться об этом.Отключение потока также ничего не делает.


prox = [imagine a long list of nordvpn servers]

def printip():
    # proxy auth according to request docs
    prox = {
        'https': 'https://myemail@gmail.com:password123@{}:80/'.format(i)
    }

    try:
        with requests.Session() as s:
            s.headers['Connection'] = 'close'

            r = s.get('https://api.myip.com', proxies=prox, stream=False)

            print(r.json()['ip'])
            s.close()

    except Exception as x:
        print('bruh')

for i in prox:
    # i is the server endpoint
    printip()
    time.sleep(3)

Я ожидал, что запросы будут работать бесконечно, но каким-то образом соединение vpn все еще остается живым.

...