26,216
社区成员
发帖
与我相关
我的任务
分享<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
用curl库