【问题标题】:How to Fix AttributeError: module 'requests.sessions' has no attribute 'post'如何修复 AttributeError:模块“requests.sessions”没有属性“post”
【发布时间】:2020-03-16 19:47:57
【问题描述】:

我想用python创建账户检查器

这是我的代码

    import requests
from bs4 import BeautifulSoup

class output(object):
    def tested(self, email, password):
        print(f" Posted: {email} {password}")


# Get CSRF TOKEN
class checker_start(object):
    def get_token(self):
        data = requests.get("https://www.marlboro.id/auth/login")
        soup = BeautifulSoup(data.text, "lxml")
        decide_csrf = soup.find("input", {"name": "decide_csrf"})["value"]
        return decide_csrf

    def post(self, combo):
        decide_csrf = self.get_token()
        email = combo[0]
        password = combo [1]
        api = requests.sessions
        # Creating POST METHOD #
        param = {"_method": "POST", "decide_csrf": decide_csrf, "email": email, "password": password}
        source = api.post("https://www.marlboro.id/auth/login", data=param).text

        if """<div class="err__msg-big">Opps!</div>""" in source:
            output().tested(email, password)
        else:
            output().tested(email, password)

    def start(self):
        file = input("Please input your txt file: ")
        data = open(file, "r").readlines()
        data_s = [lines.replace("\n", " ") for lines in data]
        for lines in data_s:
            combo = lines.split("|")
            self.post(combo)

if __name__ == "__main__":
    checker_start().start()

但是当我运行这些代码时,输​​出是:

Traceback(最近一次调用最后一次):文件 “/Users/erzajullian/PycharmProjects/Checker/marlboro.py”,第 39 行,在 checker_start().start() 文件“/Users/erzajullian/PycharmProjects/Checker/marlboro.py”,第 36 行,在 开始 self.post(combo) 文件“/Users/erzajullian/PycharmProjects/Checker/marlboro.py”,第 23 行,在 邮政 source = api.post("https://www.marlboro.id/auth/login", data=param).text AttributeError: module 'requests.sessions' has no 属性“帖子”

如何解决这些问题?谢谢

【问题讨论】:

  • 你试过api = requests.Session()而不是requests.sessions吗?
  • 嗨,我刚刚尝试编辑 api = requests.sessions(),但输出仍然错误
  • TypeError: 'module' 对象不可调用
  • 什么时候出现新的错误?您确实可以在此处查看有关会话使用的文档:docs.python-requests.org/en/master/user/advanced

标签: python


【解决方案1】:

你有

api = requests.sessions

api不是这点之后的请求模块,所以它没有post()方法。

如果你替换

source = api.post("https://www.marlboro.id/auth/login", data=param).text

source = requests.post("https://www.marlboro.id/auth/login", data=param).text

这能解决问题吗?如果是这样,您可以删除 api = requests.sessions 行。)

【讨论】:

  • 谢谢您,我刚刚替换了该代码并解决了。所以我只需要用请求改变api吗?
  • 我想是的——虽然我不确定api = requests.sessions 行的初衷是什么。
【解决方案2】:

首先,您必须稍微更改一下您的代码。发布请求应该以不同的方式处理。

import requests
with requests.Sessions as s:
    # Define headers which you will get via post request
    Headers = {'user-agent':'YOUR_HEADERS'}
    url = 'some_url'
    login_data{
    'username':'user',
    'password':'password'
    # Any other login data your site requires}
    r = s.post(url, data=login_data, headers=Headers)
    # now you can use r.content to parse given html in bs4

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2019-05-25
    • 2019-08-25
    • 2020-09-03
    • 2020-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多