要求登录网站仅出现403错误

时间:2019-07-13 21:36:17

标签: python python-requests

我试图使用请求库登录www.ebay-kleinanzeigen.de,但是每次尝试发布数据时(在注册页面上与登录页面相同),我都收到403错误

这是注册功能的代码:

import requests
from bs4 import BeautifulSoup

session = requests.Session()

user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
headers = {'user-agent': user_agent, 'Referer': 'https://www.ebay-kleinanzeigen.de'}

with requests.Session() as c:
    url = 'https://www.ebay-kleinanzeigen.de/m-benutzer-anmeldung.html'
    c.headers = headers
    hp = c.get(url, headers=headers)

    soup = BeautifulSoup(hp.content, 'html.parser')
    crsf = soup.find('input', {'name': '_csrf'})['value']
    print(crsf)

    payload = dict(email='test.email@emailzz1.de', password='test123', passwordConfirmation='test123',
                   _marketingOptIn='on', _crsf=crsf)

    page = c.post(url, data=payload, headers=headers)
    print(page.text)
    print(page.url)
    print(page.status_code)

是否需要更多头文件?用户代理和引荐来源不够吗?

我尝试添加所有请求的标头,但随后没有任何响应。

1 个答案:

答案 0 :(得分:1)

我设法创建了一个脚本,该脚本将成功完成您尝试使用mechanicalsoup library填写的注册表。请注意,您将必须手动检查您的电子邮件帐户,以查看他们发送给您的电子邮件以完成注册。

我意识到这并没有真正回答为什么BeautifulSoup返回403禁止错误的问题,但是它确实完成了您的任务而没有遇到相同的错误。


import mechanicalsoup

browser = mechanicalsoup.StatefulBrowser()

browser.open("https://www.ebay-kleinanzeigen.de/m-benutzer-anmeldung.html")

browser.select_form('#registration-form')
browser.get_current_form().print_summary()
browser["email"] = "mailuser@emailprovider.com"
browser["password"] = "testSO12345"
browser["passwordConfirmation"] = "testSO12345"

response = browser.submit_selected()
rsp_code = response.status_code

#print(response.text)
print("Response code:",rsp_code)
if(rsp_code == 200):
    print("Success! Opening a local debug copy of the page... (no CSS formatting)")
    browser.launch_browser()
else:
    print("Failure!")