-
Notifications
You must be signed in to change notification settings - Fork 0
/
loginQrLine.go
97 lines (89 loc) · 2.1 KB
/
loginQrLine.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package main
import (
"fmt"
"github.com/tidwall/gjson"
"io/ioutil"
"log"
"net/http"
"strings"
"time"
)
var hosts = "https://api.vhtear.com/"
var apikey = "Premiumkey"
var headersSu = `{"User-Agent": "Line/6.3.2","X-Line-Application": "DESKTOPWIN\t6.3.2\tVH-PC\t10.0.14;SECONDARY","x-lal": "en_id"}`
func NewLoginV2() string {
requestBody := strings.NewReader(headersSu)
res, err := http.Post(hosts+"zloginqr="+apikey, "application/json; charset=UTF-8", requestBody)
if err != nil {
log.Fatal(err)
}
data, _ := ioutil.ReadAll(res.Body)
res.Body.Close()
bodyString := string(data)
get := gjson.Get(bodyString, "result.url")
if get.Exists() {
return get.String()
} else {
fmt.Println(bodyString)
return ""
}
}
func LoginWithCertificate(cert string) string {
requestBody := strings.NewReader(headersSu)
res, err := http.Post(hosts+"zloginqrwithcert="+apikey+"&"+cert, "application/json; charset=UTF-8", requestBody)
if err != nil {
log.Fatal(err)
}
data, _ := ioutil.ReadAll(res.Body)
res.Body.Close()
bodyString := string(data)
get := gjson.Get(bodyString, "result.url")
if get.Exists() {
return get.String()
} else {
fmt.Println(bodyString)
return ""
}
}
func GetCode() {
for {
time.Sleep(8 * time.Second)
fmt.Println("Wait code")
res, err := http.Get(hosts + "zgetcode=" + apikey)
if err != nil {
log.Fatal(err)
}
data, _ := ioutil.ReadAll(res.Body)
res.Body.Close()
//fmt.Println(string(data))
get := gjson.Get(string(data), "result.code")
if get.String() != "" {
fmt.Println(get.String())
break
}
}
}
func GetTokens() {
for {
time.Sleep(2 * time.Second)
fmt.Println("Wait token")
res, err := http.Get(hosts + "zgettoken=" + apikey)
if err != nil {
log.Fatal(err)
}
data, _ := ioutil.ReadAll(res.Body)
res.Body.Close()
token := gjson.Get(string(data), "result.token")
cert := gjson.Get(string(data), "result.certificate")
if token.String() != "" {
fmt.Println(token.String())
fmt.Println(cert.String())
break
}
}
func main() {
//fmt.Println(LoginWithCertificate("certMu"))
//fmt.Println(NewLoginV2())
//GetCode()
//GetTokens()
}