@@ -16,6 +16,21 @@ var plugin = new Plugin(200, 'solution.discuss', '2019.02.03',
16
16
var URL_DISCUSSES = 'https://leetcode.com/graphql' ;
17
17
var URL_DISCUSS = 'https://leetcode.com/problems/$slug/discuss/$id' ;
18
18
19
+ function setupHeaders ( opts , user ) {
20
+ opts . headers . Cookie = 'LEETCODE_SESSION=' + user . sessionId +
21
+ ';csrftoken=' + user . sessionCSRF + ';' ;
22
+ opts . headers [ 'X-CSRFToken' ] = user . sessionCSRF ;
23
+ opts . headers [ 'x-csrftoken' ] = user . sessionCSRF ;
24
+ opts . headers [ 'X-Requested-With' ] = 'XMLHttpRequest' ;
25
+
26
+ opts . headers [ 'User-Agent' ] = 'Mozilla/5.0 (X11; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0' ;
27
+ opts . headers [ 'Referer' ] = 'https://leetcode.cn' ;
28
+ opts . headers [ 'Origin' ] = 'https://leetcode.cn/' ;
29
+ opts . headers [ 'Host' ] = 'leetcode.cn' ;
30
+ opts . headers [ 'Content-Type' ] = 'application/json' ;
31
+ opts . headers [ 'Accept' ] = 'application/json' ;
32
+ }
33
+
19
34
function getSolution ( problem , lang , cb ) {
20
35
if ( ! problem ) return cb ( ) ;
21
36
@@ -60,6 +75,11 @@ function getSolution(problem, lang, cb) {
60
75
} )
61
76
}
62
77
} ;
78
+
79
+ opts . headers = { } ;
80
+
81
+ setupHeaders ( opts , session . getUser ( ) ) ;
82
+
63
83
request ( opts , function ( e , resp , body ) {
64
84
if ( e ) return cb ( e ) ;
65
85
if ( resp . statusCode !== 200 )
0 commit comments