Commit 6b944b62 authored by anqi-wmm's avatar anqi-wmm

随机选择设备参数

parent 64f0b6c7
...@@ -716,7 +716,7 @@ func GenData(times int, abck, bmsz, ua, url string) (string, string) { ...@@ -716,7 +716,7 @@ func GenData(times int, abck, bmsz, ua, url string) (string, string) {
} }
func main() { func main() {
url := "https://www.easyjet.com/en" url := "https://www.jetstar.com"
abck := "B9E0C674552DB391815F82C0647FADC9~-1~YAAQBGUzuBl9/72GAQAAyb94wAm4ydH5I2znFxoyfaPIvHOHSyqXZHzgQ7m2RkagTpBzztNa5LmNFcqg4DNXEm/tZ+r1JxOWYfLY1EA5bzEvauFo6puMeVBuo4HdbMVfmxlwKaZpIQRNtUq0Z1wEmw2rrWetb3RktDypg1QT1tuF/hnXMQseB7YMYUY2Gku1MCLDlJF3wgsm6+tXjbhbqG0RR5IKiv3My4Q5kx2JEGDFV+X/RgB5wQz1ggUsipMSyDhrqlBsYhuMxyOzZNUQX29HuKZZjKTF3omqkyGJIrMhWz7yQ3fwlKrTYjswHxIX/GP4rZqWUL3m0Zhnhu/SrZipSJOLtKbgTwTuQS+iAXNP5DsSVGL0s8+nMrQNuIVyCNUZg3nxRRjgDx/+AvYppn2xiwW/tkuOAYIbtFRkirM5J9U=~-1~||1-EAjzIUtDUl-2250-10-1000-2||~-" abck := "B9E0C674552DB391815F82C0647FADC9~-1~YAAQBGUzuBl9/72GAQAAyb94wAm4ydH5I2znFxoyfaPIvHOHSyqXZHzgQ7m2RkagTpBzztNa5LmNFcqg4DNXEm/tZ+r1JxOWYfLY1EA5bzEvauFo6puMeVBuo4HdbMVfmxlwKaZpIQRNtUq0Z1wEmw2rrWetb3RktDypg1QT1tuF/hnXMQseB7YMYUY2Gku1MCLDlJF3wgsm6+tXjbhbqG0RR5IKiv3My4Q5kx2JEGDFV+X/RgB5wQz1ggUsipMSyDhrqlBsYhuMxyOzZNUQX29HuKZZjKTF3omqkyGJIrMhWz7yQ3fwlKrTYjswHxIX/GP4rZqWUL3m0Zhnhu/SrZipSJOLtKbgTwTuQS+iAXNP5DsSVGL0s8+nMrQNuIVyCNUZg3nxRRjgDx/+AvYppn2xiwW/tkuOAYIbtFRkirM5J9U=~-1~||1-EAjzIUtDUl-2250-10-1000-2||~-"
bmsz := "F7BF54E40B51C55E0818DC07CD173D3D~YAAQtto4fZOUjTaGAQAAu2TuXRLag7FMMOcGVWfM6R1TuxY9u8Z+UDLtA8qE03/kyE1u1gycaSyEWy9GEbaHoyc2CT7Gqokpc8mxNY8qoEITjbsXZlhLE9Zm2K7ekUb1wAsxocavW2rsJTBvlEfYAcPs6/04ASA1QueCbMErtMm5Jqg7MnPVmCym75ewsP6qihOts07wgEWNkbSsdaHzQf4cm3uHxirh3o91GojyUSGrxRcFRn4NJlQtxIX/PrOsUr4HyxcYTAX+WUh6QyBCzGQ4pNgiszuc4R9OdAy3XGc6LzUP7PBIl5fz6OpZUj2gTJT2j5WPOn2I469jdYrZCAMoajftNJ9nrdy36vkz9S+Xp3z7dh9btp+Q+bpRYd1M9zhtmlmHxTTSv7rs6sOBHE/tmvEHXtc=~3748403~3683895" bmsz := "F7BF54E40B51C55E0818DC07CD173D3D~YAAQtto4fZOUjTaGAQAAu2TuXRLag7FMMOcGVWfM6R1TuxY9u8Z+UDLtA8qE03/kyE1u1gycaSyEWy9GEbaHoyc2CT7Gqokpc8mxNY8qoEITjbsXZlhLE9Zm2K7ekUb1wAsxocavW2rsJTBvlEfYAcPs6/04ASA1QueCbMErtMm5Jqg7MnPVmCym75ewsP6qihOts07wgEWNkbSsdaHzQf4cm3uHxirh3o91GojyUSGrxRcFRn4NJlQtxIX/PrOsUr4HyxcYTAX+WUh6QyBCzGQ4pNgiszuc4R9OdAy3XGc6LzUP7PBIl5fz6OpZUj2gTJT2j5WPOn2I469jdYrZCAMoajftNJ9nrdy36vkz9S+Xp3z7dh9btp+Q+bpRYd1M9zhtmlmHxTTSv7rs6sOBHE/tmvEHXtc=~3748403~3683895"
ua := "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.50" ua := "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.50"
......
package main
import (
"crypto/rand"
"fmt"
"github.com/PuerkitoBio/goquery"
http "github.com/bogdanfinn/fhttp"
tls_client "github.com/bogdanfinn/tls-client"
"io"
"log"
"math/big"
"net/url"
"strconv"
"strings"
"sync"
sensor2 "test/sensor"
)
type AkmCommonTest struct {
Client tls_client.HttpClient
IntUrl string
SensorUrl string
Ua string
}
func NewAkmCommonTest(client tls_client.HttpClient, intUrl string) *AkmCommonTest {
return &AkmCommonTest{Client: client, IntUrl: intUrl}
}
func (c *AkmCommonTest) getCommonCookie() (string, string) {
abck := ""
bm_sz := ""
uri, _ := url.Parse(c.IntUrl)
for _, cookie := range c.Client.GetCookies(uri) {
if cookie.Name == "_abck" {
abck = cookie.Value
}
if cookie.Name == "bm_sz" {
abck = cookie.Value
}
}
return abck, bm_sz
}
func (c *AkmCommonTest) abckSensorCommon(times int) string {
ua := ""
for i := 0; i < times; i++ {
abck, bm_sz := c.getCommonCookie()
//datas := fmt.Sprintf("times=%d&abck=%s&bm_sz=%s&url=%s", i, abck, bm_sz, "https://www.spirit.com/")
//r, _ := http.Post("http://127.0.0.1:3033/akm2t", "application/x-www-form-urlencoded", strings.NewReader(datas))
//rs, _ := io.ReadAll(r.Body)
//rsss := strings.Split(string(rs), "|||||")
//sensorData := rsss[0]
sensorData, ua := sensor2.GenData(i, abck, bm_sz, c.Ua, c.IntUrl)
c.Ua = ua
//sensorData, ua := sensor.GenData(i, abck, bm_sz, "Mozilla/5.0 (Linux; Android 9; SM-N9500) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36", "https://www.spirit.com/")
//fmt.Println("ua", ua)
sensor := "{\"sensor_data\":\"" + sensorData + "\"}"
req, _ := http.NewRequest("POST", c.IntUrl+c.SensorUrl, strings.NewReader(sensor))
req.Header.Set("authority", "www.spirit.com")
req.Header.Set("accept", "*/*")
req.Header.Set("accept-language", "q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6")
req.Header.Set("cache-control", "no-cache")
req.Header.Set("content-type", "text/plain;charset=UTF-8")
req.Header.Set("origin", "https://www.spirit.com")
req.Header.Set("pragma", "no-cache")
req.Header.Set("referer", "https://www.spirit.com/")
req.Header.Set("user-agent", ua)
resp, err := c.Client.Do(req)
if err != nil {
log.Println("网络出错")
return ""
}
defer resp.Body.Close()
//readBytes, _ := io.ReadAll(resp.Body)
//fmt.Println(string(readBytes))
for _, cookie := range resp.Cookies() {
fmt.Println(cookie.Name, len(cookie.Value))
}
}
return ua
}
func (c *AkmCommonTest) Init() {
req, _ := http.NewRequest("GET", c.IntUrl, nil)
req.Header.Set("Host", strings.ReplaceAll(c.IntUrl, "https://", ""))
req.Header.Set("upgrade-insecure-requests", "1")
req.Header.Set("accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7")
req.Header.Set("sec-fetch-site", "none")
req.Header.Set("sec-fetch-mode", "navigate")
req.Header.Set("sec-fetch-user", "?1")
req.Header.Set("sec-fetch-dest", "document")
req.Header.Set("sec-ch-ua-mobile", "?0")
req.Header.Set("accept-language", "en-US,en;q=0.9")
req.Header.Set("User-Agent", "Mozilla/5.0 (Linux; Android 9; SM-N9500) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36")
resp, _ := c.Client.Do(req)
fmt.Println(resp.StatusCode)
doc, err := goquery.NewDocumentFromReader(resp.Body)
if err != nil {
panic(err)
}
scripts := doc.Find("script")
sensorurl, ok := scripts.Last().Attr("src")
if ok != true {
panic(err)
}
c.SensorUrl = sensorurl
fmt.Println(sensorurl)
}
func main() {
initUrl := "https://www.jetstar.com"
testUrl := "https://apimobile.vueling.com/Vueling.Mobile.AvailabilityService.WebAPI/api/V2/AvailabilityController/DoAirPriceSB"
testUrl = "https://booking.jetstar.com/cn/zh/booking/search-flights?Currency=AUD&adults=1&children=0&departuredate1=2023-03-21&destination1=SYD&dotcomFCOutboundArrivalTime=2023-03-21T16%3A20%3A00&dotcomFCOutboundCorrelationId=3ec39bb6-f959-4680-a974-93b35bf7d284&dotcomFCOutboundDepartureTime=2023-03-21T14%3A55%3A00&dotcomFCOutboundFare=87&dotcomFCOutboundFlightId=69814507&dotcomFCOutboundIncludeMember=False&dotcomFCOutboundMemberArrivalTime=2023-03-21T07%3A25%3A00&dotcomFCOutboundMemberCorrelationId=a1616c12-ddb2-4497-a0cd-c8eb6ab6b533&dotcomFCOutboundMemberDepartureTime=2023-03-21T06%3A00%3A00&dotcomFCOutboundMemberFare=0&dotcomFCOutboundMemberFlightId=69814650&dotcomFCOutboundMemberIncludeMember=Only&dotcomFCOutboundMemberPriceShown=false&dotcomFCOutboundPriceShown=false&dotcomFCPricesHidden=false&infants=0&origin1=AVV"
testBody := ""
wg := &sync.WaitGroup{}
for i := 0; i < 1; i++ {
wg.Add(1)
go func() {
jar := tls_client.NewCookieJar()
i, _ := rand.Int(rand.Reader, big.NewInt(149))
number := i.String() //转成string
num, err := strconv.Atoi(number)
px := fmt.Sprintf("http://%s%d", "unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:", 10000+num)
fmt.Println(px)
options := []tls_client.HttpClientOption{
tls_client.WithTimeoutSeconds(30),
tls_client.WithClientProfile(tls_client.Chrome_108),
tls_client.WithCookieJar(jar), // create cookieJar instance and pass it as argument
tls_client.WithProxyUrl("http://127.0.0.1:8890"),
//tls_client.WithProxyUrl("http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600"),
//tls_client.WithProxyUrl(px),
//tls_client.WithInsecureSkipVerify(),
}
client, err := tls_client.NewHttpClient(tls_client.NewNoopLogger(), options...)
if err != nil {
panic(err)
}
akm := NewAkmCommonTest(client, initUrl)
akm.Init()
akm.abckSensorCommon(3)
akm.commonTest(testUrl, testBody)
wg.Done()
}()
}
wg.Wait()
}
func (c *AkmCommonTest) commonTest(testUrl, testBody string) {
fmt.Println("UA", c.Ua)
var req *http.Request
if testBody != "" {
req, _ = http.NewRequest("POST", testUrl, strings.NewReader(testBody))
} else {
req, _ = http.NewRequest("GET", testUrl, nil)
}
req.Header.Set("Host", "booking.jetstar.com")
req.Header.Set("sec-ch-ua-mobile", "?0")
req.Header.Set("upgrade-insecure-requests", "1")
req.Header.Set("user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36")
req.Header.Set("accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7")
req.Header.Set("sec-fetch-site", "same-site")
req.Header.Set("sec-fetch-mode", "navigate")
req.Header.Set("sec-fetch-user", "?1")
req.Header.Set("sec-fetch-dest", "document")
req.Header.Set("accept-language", "en-US,en;q=0.9")
//req.Header.Set("user-agent", "Mozilla/5.0 (Linux; Android 9; SM-N9500) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36")
req.Header.Set("user-agent", c.Ua)
resp, err := c.Client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
readBytes, _ := io.ReadAll(resp.Body)
fmt.Println(string(readBytes))
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment