File tree 1 file changed +9
-14
lines changed
1 file changed +9
-14
lines changed Original file line number Diff line number Diff line change 17
17
def get_question_of_today ():
18
18
"""Fetch today's question from Leetcode's GraphQL API"""
19
19
20
- client = requests .session ()
21
-
22
- # Visit leetcode webpage to retrieve a CSRF token first
23
- client .get (LEETCODE_DOMAIN )
24
-
25
- if 'csrftoken' in client .cookies :
26
- csrftoken = client .cookies ['csrftoken' ]
27
- else :
28
- csrftoken = ''
29
-
30
- response = client .post (
20
+ request = requests .Request (
21
+ 'POST' ,
31
22
LEETCODE_DOMAIN + '/graphql/' ,
32
- data = {
23
+ json = {
33
24
'query' : """query questionOfToday {
34
25
activeDailyCodingChallengeQuestion {
35
26
link
@@ -51,13 +42,17 @@ def get_question_of_today():
51
42
}""" ,
52
43
'variables' : {},
53
44
'operationName' : 'questionOfToday' ,
54
- 'csrfmiddlewaretoken' : csrftoken
55
45
},
56
46
headers = {
57
- 'referer' : LEETCODE_ALL_PROBLEM_URL
47
+ "authority" : "leetcode.com" ,
48
+ "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36" ,
58
49
}
59
50
)
60
51
52
+ prepped_request = request .prepare ()
53
+ session = requests .Session ()
54
+ response = session .send (prepped_request )
55
+
61
56
try :
62
57
return response .json ()
63
58
except ValueError :
You can’t perform that action at this time.
0 commit comments