模拟登入leetcode网站发生403错误

qq_50798291 2023-04-12 16:29:21

<h1>Forbidden <span>(403)</span></h1>
  <p>CSRF verification failed. Request aborted.</p>


  <p>You are seeing this message because this site requires a CSRF cookie when submitting forms. This cookie is required for security reasons, to ensure that your browser is not being hijacked by third parties.</p>
  <p>If you have configured your browser to disable cookies, please re-enable them, at least for this site, or for “same-origin” requests.</p>

import sqlite3
import json
import traceback
import html2text
import os
import requests
from requests_toolbelt import MultipartEncoder
import random,time
import re
import argparse,sys
import threading

db_path = 'leetcode.db'
user_agent = r'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11'
# xskaerqeIa8j3g4LtD2V5cGBnWJ8qm3t9IXOjIT8hHCM2p5uSP8pdmb553hbpHPf
# xskaerqeIa8j3g4LtD2V5cGBnWJ8qm3t9IXOjIT8hHCM2p5uSP8pdmb553hbpHPf
# gj8bBQxNFzHIkM2kIGpTl0nPD7p1JrHflRpldmyAWtQZ0tIdT0q0p6gfqHjUK6Dj
# gj8bBQxNFzHIkM2kIGpTl0nPD7p1JrHflRpldmyAWtQZ0tIdT0q0p6gfqHjUK6Dj
# csrfmiddlewaretoken
# 登陆 leetcode 账号
# def login(self, username, password):
#     url = "https://leetcode.com/accounts/login"
#
#     params_data = {
#         'csrfmiddlewaretoken': self.csrftoken,
#         'login': username,
#         'password': password,
#         'next': '/',
#         'recaptcha_token': '03AKH6MRGjsl8sBn9CN65pt1MttW2EdHSS3ajRH_iTVqodYDLktlSRWYzsWt-csER5RTXiz-23fV8G8a9CFVJiAh4-Ft5B9db-59WBTHSCnfrXmPMHGCdKHBx0XPR7tgexlyF9MvQSNrB50PSeXggv7NaQKDVPeK6OB5GPIvdl2sJh15Qpj7fmCwZ53Jl24IEgyq819UHccTyLcHLvS1IkbTvOi5_-WulgqEmnA2jTs8H58ja2HbgwS6qs29_cWH1ZlPdemtsmSBb52ZcMuUH0d_rGouKicXQsvEdzs_X4OLpQH2QTveY6QT4DRcwb7SvQniugkOmtECIW0ozSLJ8RJjg1CA-vUX32QlYEad9uOhlvMhxvhTiD0nhECsVmVWG7mINQ1E6mZsFoUSIcEnOvgPMSv6p12jVW01LglmS_3YwZCvzQQdAfb4xTw-lUbvaP5YkTZIvES4vqLI238x64fah-9prhieLcB7CqUyyodQyQ1zZH7CgAeRAi0ZT2SQNUUef2xsVZRjFg'
#     }
#     headers = {'User-Agent': user_agent, 'Connection': 'keep-alive',
#                'referer': 'https: // leetcode.com / accounts / login',
#                "origin": 'https: // leetcode.com'}
#     # origin: https: // leetcode.com
#     # referer: https: // leetcode.com / accounts / login
#     m = MultipartEncoder(params_data)
#
#     headers['Content-Type'] = m.content_type
#     self.session.post(url=url, headers=headers, data=m, timeout=10, allow_redirects=False)
#     self.is_login = self.session.cookies.get('LEETCODE_SESSION') != None
#     # self.is_login = True
#     return self.is_login

if __name__ == '__main__':
    my_headers = [
        "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36",
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36",
        "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0"
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14",
        "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)"

        ]
    random_header = random.choice(my_headers)
    #TODO:建立连接
    session = requests.session()
    url = 'https://leetcode.com/accounts/login'
    cookies = session.get(url).cookies
    for cookie in cookies:
        if cookie.name == 'csrftoken':
            csrftoken = cookie.value
            break
    print(csrftoken)
    session1 = requests.session()
    params_data = {
        'csrfmiddlewaretoken': csrftoken,
        'login': '',
        'password': '',
        'next': '/',
        'recaptcha_token': '03AKH6MRGjsl8sBn9CN65pt1MttW2EdHSS3ajRH_iTVqodYDLktlSRWYzsWt-csER5RTXiz-23fV8G8a9CFVJiAh4-Ft5B9db-59WBTHSCnfrXmPMHGCdKHBx0XPR7tgexlyF9MvQSNrB50PSeXggv7NaQKDVPeK6OB5GPIvdl2sJh15Qpj7fmCwZ53Jl24IEgyq819UHccTyLcHLvS1IkbTvOi5_-WulgqEmnA2jTs8H58ja2HbgwS6qs29_cWH1ZlPdemtsmSBb52ZcMuUH0d_rGouKicXQsvEdzs_X4OLpQH2QTveY6QT4DRcwb7SvQniugkOmtECIW0ozSLJ8RJjg1CA-vUX32QlYEad9uOhlvMhxvhTiD0nhECsVmVWG7mINQ1E6mZsFoUSIcEnOvgPMSv6p12jVW01LglmS_3YwZCvzQQdAfb4xTw-lUbvaP5YkTZIvES4vqLI238x64fah-9prhieLcB7CqUyyodQyQ1zZH7CgAeRAi0ZT2SQNUUef2xsVZRjFg'
    }
    url1 = "https://leetcode.com/accounts/login"
    headers = {'User-Agent': random_header, 'Connection': 'keep-alive',
               'accept': '* / *',
              'accept - encoding': 'gzip, deflate, br',
                'accept - language': 'zh - CN, zh;q = 0.9',
               'content-type': 'mmultipart/form-data; boundary=----WebKitFormBoundaryUYn7eXqitEIvWvyS',
                'Referer': 'https://leetcode.com/accounts/login',
                'origin': 'https://leetcode.com','x-csrftoken':csrftoken
               ,'x-requested-with':'XMLHttpRequest'}

    m = MultipartEncoder(params_data)

    #headers['content-type'] = m.content_type
    resp = session1.post(url=url, headers=headers, data=m, timeout=10, allow_redirects=False)
    print(resp.text)
    #aNOGnJEtlzlObcnuKkpcKfluQHWd88iu2fG7fCl9w28qhMBOGLt7s2W881O3JkEc
    #aNOGnJEtlzlObcnuKkpcKfluQHWd88iu2fG7fCl9w28qhMBOGLt7s2W881O3JkEc
...全文
445 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复

26,097

社区成员

发帖
与我相关
我的任务
社区描述
爬虫逆向技术交流社区,有问题可在此发布动态,不限开发语言不限框架技术的综合社区。
社区管理员
  • 考古学家lx(李玺)
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

一个综合的爬虫逆向技术交流社区

试试用AI创作助手写篇文章吧