26,097
社区成员




<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库