Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
P
px3
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangmingming
px3
Commits
bbe3f869
Commit
bbe3f869
authored
Nov 30, 2023
by
wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
jiami
parent
7b4aeaef
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
444 additions
and
149 deletions
+444
-149
encodepayload.js
js/encodepayload.js
+0
-1
main.py
src/main.py
+171
-127
step2.js
step2.js
+265
-19
test_search.py
test_search.py
+8
-2
No files found.
js/encodepayload.js
View file @
bbe3f869
No preview for this file type
src/main.py
View file @
bbe3f869
...
@@ -15,95 +15,98 @@ from loguru import logger
...
@@ -15,95 +15,98 @@ from loguru import logger
from
env_captcha
import
PxEnv
from
env_captcha
import
PxEnv
from
src.utils
import
PxUtils
from
src.utils
import
PxUtils
ctxPC
=
execjs
.
compile
(
open
(
'pc.js'
)
.
read
())
ctx
=
execjs
.
compile
(
'''const Ev = (t, e, n) => {
var r = ie(encode(n), 10), o = [], a = -1;
for (var i = 0; i < t.length; i++) {
var l = Math.floor(i / r.length + 1)
var c = i >= r.length ? i
%
r.length : i
var u = r.charCodeAt(c) * r.charCodeAt(l)
// console.log(i, l, c, u)
u > a && (a = u)
}
for (var f = 0; t.length > f; f++) {
var s = Math.floor(f / r.length) + 1,
d = f
%
r.length,
p = r.charCodeAt(d) * r.charCodeAt(s)
// console.log(f, s, d, p, p > e, wv(p, 0, a, 0, e-1))
p >= e && (p = wv(p, 0, a, 0, e - 1));
for (; -1 !== o.indexOf(p);) {
p += 1
}
// console.log('add', p)
o.push(p)
}
return o.sort(function (t, e) {
ctxPC
=
execjs
.
compile
(
open
(
'pc.js'
)
.
read
())
return t - e
})
}
const encode = (t) => {
return btoa(encodeURIComponent(t).replaceAll(/
%
([0-9A-F]{2})/g, function (t, e) {
// console.log(t, e, '0x' + e)
return String.fromCharCode("0x" + e);
}))
}
const ie = (t, e) => {
for (var n = '', r = 0; r < t.length; r++)
// console.log(e, t.charCodeAt(r), e ^ t.charCodeAt(r), String.fromCharCode(e ^ t.charCodeAt(r)))
n += String.fromCharCode(e ^ t.charCodeAt(r))
return n
}
const wv = (t, e, n, r, o) => {
return Math.floor(((t - e) / (n - e)) * (o - r) + r)
}
const Fa = (t, e, n) => {
// console.log('t', t)
// console.log('e', e)
// console.log('n', n)
var r = '', o = 0, a = t.split('')
for (var i = 0; i < t.length; i++) {
// console.log(i,o,n[i], n[i] - i - 1, e.substring(o, n[i] - i - 1), a[i], e.substring(o, n[i] - i - 1)+a[i])
// console.log(i, o, n[i] - i - 1, n[i] - i - 1 - o)
r += e.substring(o, n[i] - i - 1)
+ a[i]
// console.log(e.substring(o, n[i] - i - 1))
// console.log(r.length, r)
o = n[i] - i - 1
// console.log('iii',i,r)
// console.log()
}
console.log(e.substring(o))
# ctx = execjs.compile('''const Ev = (t, e, n) => {
return (r += e.substring(o))
# var r = ie(encode(n), 10), o = [], a = -1;
}
# for (var i = 0; i < t.length; i++) {
# var l = Math.floor(i / r.length + 1)
function encodePayload(payload, uuid, sts) {
# var c = i >= r.length ? i % r.length : i
var sts = sts.length === 0 ? '1604064986000' : sts
# var u = r.charCodeAt(c) * r.charCodeAt(l)
let t1 = ie(payload, 50);
# // console.log(i, l, c, u)
const BasePayload = encode(t1)
# u > a && (a = u)
console.log(BasePayload)
# }
const fv = ie(encode(sts), 10)
# for (var f = 0; t.length > f; f++) {
let t3 = Ev(fv, BasePayload.length, uuid);
# var s = Math.floor(f / r.length) + 1,
console.log(t3+''
# d = f % r.length,
)
# p = r.charCodeAt(d) * r.charCodeAt(s)
return Fa(fv, BasePayload, t3)
# // console.log(f, s, d, p, p > e, wv(p, 0, a, 0, e-1))
}
# p >= e && (p = wv(p, 0, a, 0, e - 1));
function encodeData(payload, uuid, sts) {
# for (; -1 !== o.indexOf(p);) {
payload = atob(payload)
#
payload = decodeURIComponent(payload)
# p += 1
return encodePayload(payload, uuid, sts)
# }
}
# // console.log('add', p)
# o.push(p)
# }
'''
)
#
# return o.sort(function (t, e) {
# return t - e
# })
# }
#
# const encode = (t) => {
# return btoa(encodeURIComponent(t).replaceAll(/%([0-9A-F]{2})/g, function (t, e) {
# // console.log(t, e, '0x' + e)
# return String.fromCharCode("0x" + e);
# }))
# }
#
# const ie = (t, e) => {
# for (var n = '', r = 0; r < t.length; r++)
# // console.log(e, t.charCodeAt(r), e ^ t.charCodeAt(r), String.fromCharCode(e ^ t.charCodeAt(r)))
# n += String.fromCharCode(e ^ t.charCodeAt(r))
#
# return n
# }
#
# const wv = (t, e, n, r, o) => {
# return Math.floor(((t - e) / (n - e)) * (o - r) + r)
# }
#
# const Fa = (t, e, n) => {
# // console.log('t', t)
# // console.log('e', e)
# // console.log('n', n)
# var r = '', o = 0, a = t.split('')
# for (var i = 0; i < t.length; i++) {
# // console.log(i,o,n[i], n[i] - i - 1, e.substring(o, n[i] - i - 1), a[i], e.substring(o, n[i] - i - 1)+a[i])
# // console.log(i, o, n[i] - i - 1, n[i] - i - 1 - o)
# r += e.substring(o, n[i] - i - 1)
# + a[i]
# // console.log(e.substring(o, n[i] - i - 1))
# // console.log(r.length, r)
# o = n[i] - i - 1
# // console.log('iii',i,r)
# // console.log()
# }
#
# console.log(e.substring(o))
# return (r += e.substring(o))
# }
#
# function encodePayload(payload, uuid, sts) {
# var sts = sts.length === 0 ? '1604064986000' : sts
# let t1 = ie(payload, 50);
# const BasePayload = encode(t1)
# console.log(BasePayload)
# const fv = ie(encode(sts), 10)
# let t3 = Ev(fv, BasePayload.length, uuid);
# console.log(t3+''
# )
# return Fa(fv, BasePayload, t3)
# }
# function encodeData(payload, uuid, sts) {
# payload = atob(payload)
# payload = decodeURIComponent(payload)
# return encodePayload(payload, uuid, sts)
# }
#
#
# ''')
ctx
=
execjs
.
compile
(
open
(
'../js/encodepayload.js'
)
.
read
())
ctxStep2
=
execjs
.
compile
(
'''
ctxStep2
=
execjs
.
compile
(
'''
const crypto = require('crypto');
const crypto = require('crypto');
function genUuid(t, e, n, r) {
function genUuid(t, e, n, r) {
...
@@ -168,6 +171,8 @@ function genUuid(t, e, n, r) {
...
@@ -168,6 +171,8 @@ function genUuid(t, e, n, r) {
return a === g ? a : g;
return a === g ? a : g;
}'''
)
}'''
)
ctxPayload2
=
execjs
.
compile
(
open
(
'../step2.js'
)
.
read
())
def
get_timestamp
():
def
get_timestamp
():
return
int
(
time
.
time
()
*
1000
)
return
int
(
time
.
time
()
*
1000
)
...
@@ -182,6 +187,7 @@ class PxBypass():
...
@@ -182,6 +187,7 @@ class PxBypass():
tag
=
"v8.7.2"
tag
=
"v8.7.2"
ft
=
"317"
ft
=
"317"
appId
=
"PXVb73hTEg"
appId
=
"PXVb73hTEg"
def
__init__
(
self
,
target_url
):
def
__init__
(
self
,
target_url
):
# PX11431 o111ooo1
# PX11431 o111ooo1
self
.
ts
:
str
=
''
self
.
ts
:
str
=
''
...
@@ -237,8 +243,11 @@ class PxBypass():
...
@@ -237,8 +243,11 @@ class PxBypass():
prox
=
f
'http://user-uni001-region-us-sessid-{random.randint(1000, 5000)}-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
prox
=
f
'http://user-uni001-region-us-sessid-{random.randint(1000, 5000)}-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
# prox = 'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:9000'
# prox = 'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:9000'
prox
=
f
'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:{random.randint(10000, 13500)}'
#
prox = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:{random.randint(10000, 13500)}'
# prox = 'http://127.0.0.1:8890'
# prox = 'http://127.0.0.1:8890'
self
.
tlsUrl
=
'http://52.52.23.116/tls/forward'
# self.tlsUrl = 'http://127.0.0.1:58000/tls/forward'
self
.
session
.
proxies
=
{
self
.
session
.
proxies
=
{
'http'
:
prox
,
'http'
:
prox
,
'https'
:
prox
,
'https'
:
prox
,
...
@@ -246,8 +255,7 @@ class PxBypass():
...
@@ -246,8 +255,7 @@ class PxBypass():
self
.
prox
=
prox
self
.
prox
=
prox
self
.
log
.
info
(
f
'proxy: {self.prox}'
)
self
.
log
.
info
(
f
'proxy: {self.prox}'
)
self
.
tlsUrl
=
'http://52.52.23.116/tls/forward'
# self.tlsUrl = 'http://127.0.0.1:58000/tls/forward'
def
inc
(
self
):
def
inc
(
self
):
self
.
seq
+=
1
self
.
seq
+=
1
...
@@ -256,7 +264,7 @@ class PxBypass():
...
@@ -256,7 +264,7 @@ class PxBypass():
def
do_collector
(
self
,
data
):
def
do_collector
(
self
,
data
):
if
isinstance
(
data
,
list
):
if
isinstance
(
data
,
list
):
data_str
=
json
.
dumps
(
data
,
separators
=
(
','
,
':'
),
ensure_ascii
=
Fals
e
)
data_str
=
json
.
dumps
(
data
,
separators
=
(
','
,
':'
),
ensure_ascii
=
Tru
e
)
else
:
else
:
data_str
=
data
data_str
=
data
self
.
log
.
info
(
f
'data_str {data_str}'
)
self
.
log
.
info
(
f
'data_str {data_str}'
)
...
@@ -314,9 +322,9 @@ class PxBypass():
...
@@ -314,9 +322,9 @@ class PxBypass():
self
.
_step_2
(
True
)
self
.
_step_2
(
True
)
# time.sleep(2)
# time.sleep(2)
self
.
_step_3
()
self
.
_step_3
()
#
time
.
sleep
(
2
)
#
time.sleep(2)
self
.
_token
()
#
self._token()
# self.add_header()
# self.add_header()
def
_init
(
self
):
def
_init
(
self
):
...
@@ -484,7 +492,7 @@ class PxBypass():
...
@@ -484,7 +492,7 @@ class PxBypass():
def
_gen_pc
(
self
,
t1
,
e
):
def
_gen_pc
(
self
,
t1
,
e
):
self
.
log
.
info
(
f
'genpc key: {e}'
)
self
.
log
.
info
(
f
'genpc key: {e}'
)
self
.
log
.
info
(
f
'genpc msg: {t1}'
)
self
.
log
.
info
(
f
'genpc msg: {t1}'
)
return
ctxPC
.
call
(
'genPc'
,
t1
,
e
)
return
ctxPC
.
call
(
'genPc'
,
t1
,
e
)
# r = requests.post('http://127.0.0.1:3001', data={
# r = requests.post('http://127.0.0.1:3001', data={
# 't':t1,
# 't':t1,
# 'e':e
# 'e':e
...
@@ -547,7 +555,7 @@ class PxBypass():
...
@@ -547,7 +555,7 @@ class PxBypass():
"cookie"
:
'; '
.
join
(
cks
)
"cookie"
:
'; '
.
join
(
cks
)
},
method
=
"GET"
,
proxy
=
self
.
prox
,
},
method
=
"GET"
,
proxy
=
self
.
prox
,
debug
=
True
debug
=
True
,
allow_redirects
=
True
#
, allow_redirects=True
))
))
response
=
response
.
json
()
response
=
response
.
json
()
...
@@ -568,34 +576,33 @@ class PxBypass():
...
@@ -568,34 +576,33 @@ class PxBypass():
self
.
log
.
error
(
f
"请求结果 {response['status_code']}"
)
self
.
log
.
error
(
f
"请求结果 {response['status_code']}"
)
def
_step_2
(
self
,
nn
):
def
_step_2
(
self
,
nn
):
self
.
performanceNow
+=
random
.
randint
(
1000
,
2000
)
self
.
performanceNow
+=
random
.
randint
(
1000
,
2000
)
self
.
log
.
info
(
f
'performanceNow {self.performanceNow}'
)
self
.
log
.
info
(
f
'performanceNow {self.performanceNow}'
)
# sid, vid,ts, num1 ,num2,str1, uuid
# sid, vid,ts, num1 ,num2,str1, uuid
# data_str = ctxStep
2.call('genPayload2', self.target_url, self.sid, self.vid, self.ts, self.num1, self.num2,
data_str
=
ctxPayload
2
.
call
(
'genPayload2'
,
self
.
target_url
,
self
.
sid
,
self
.
vid
,
self
.
ts
,
self
.
num1
,
self
.
num2
,
#
self.str1, self.uuid,
self
.
str1
,
self
.
uuid
,
#
self.startTs, self.startTs2, self.performanceNow, self.px12280, nn)
self
.
startTs
,
self
.
startTs2
,
self
.
performanceNow
,
self
.
px12280
,
nn
)
# data_str =
# data_str =
# data = json.loads(data_str)
# data = json.loads(data_str)
p
=
PxEnv
(
self
.
pxEnv
,
self
.
target_url
,
self
.
sid
,
self
.
vid
,
self
.
ts
,
self
.
num1
,
self
.
num2
,
#
p = PxEnv(self.pxEnv, self.target_url, self.sid, self.vid, self.ts, self.num1, self.num2,
self
.
str1
,
self
.
uuid
,
#
self.str1, self.uuid,
self
.
startTs
,
self
.
startTs2
,
self
.
performanceNow
,
self
.
px12280
)
#
self.startTs, self.startTs2, self.performanceNow, self.px12280)
data
=
[
p
.
get_px11590
()]
# data_str
= [p.get_px11590()]
# data_str2 = ctxStep2.call('genPayload3', self.target_url, self.sid, self.vid, self.ts, self.num1, self.num2,
# data_str2 = ctxStep2.call('genPayload3', self.target_url, self.sid, self.vid, self.ts, self.num1, self.num2,
# self.str1, self.uuid,
# self.str1, self.uuid,
# self.startTs, self.startTs2, nn)
# self.startTs, self.startTs2, nn)
# data2 = json.loads(data_str2)
# data2 = json.loads(data_str2)
# data.extend(data2)
# data.extend(data2)
self
.
do_collector2
(
data_str
)
self
.
do_collector
(
data
)
def
_decode_resp
(
self
):
def
_decode_resp
(
self
):
a
=
int
(
self
.
tag
.
replace
(
'v'
,
''
)
.
replace
(
'.'
,
''
))
a
=
int
(
self
.
tag
.
replace
(
'v'
,
''
)
.
replace
(
'.'
,
''
))
return
a
%
128
return
a
%
128
def
_step_11
(
self
):
def
_step_11
(
self
):
self
.
performanceNow
+=
random
.
randint
(
1000
,
2000
)
self
.
performanceNow
+=
random
.
randint
(
1000
,
2000
)
data
=
[{
"t"
:
"PX12167"
,
"d"
:
{
"PX11648"
:
True
}}]
data
=
[{
"t"
:
"PX12167"
,
"d"
:
{
"PX11648"
:
True
}}]
self
.
do_collector
(
data
)
self
.
do_collector
(
data
)
...
@@ -624,25 +631,25 @@ class PxBypass():
...
@@ -624,25 +631,25 @@ class PxBypass():
return
data
return
data
def
_step_3
(
self
):
def
_step_3
(
self
):
self
.
performanceNow
+=
random
.
randint
(
1000
,
2000
)
self
.
performanceNow
+=
random
.
randint
(
1000
,
2000
)
self
.
log
.
info
(
f
'performanceNow {self.performanceNow}'
)
self
.
log
.
info
(
f
'performanceNow {self.performanceNow}'
)
# sid, vid,ts, num1 ,num2,str1, uuid
# sid, vid,ts, num1 ,num2,str1, uuid
# genPayload4(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs2, performanceNow, px11280, n)
# genPayload4(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs2, performanceNow, px11280, n)
# data_str = ctxStep
2.call('genPayload4', self.target_url, self.sid, self.vid, self.ts, self.num1,
data_str
=
ctxPayload
2
.
call
(
'genPayload4'
,
self
.
target_url
,
self
.
sid
,
self
.
vid
,
self
.
ts
,
self
.
num1
,
#
self.num2,
self
.
num2
,
# self.str1, self.uuid,self.startTs, self.startTs2, self.performanceNow, self.px12280)
self
.
str1
,
self
.
uuid
,
self
.
startTs
,
self
.
startTs2
,
self
.
performanceNow
,
p
=
PxEnv
(
self
.
pxEnv
,
self
.
target_url
,
self
.
sid
,
self
.
vid
,
self
.
ts
,
self
.
num1
,
self
.
num2
,
self
.
px12280
)
self
.
str1
,
self
.
uuid
,
# p = PxEnv(self.pxEnv, self.target_url, self.sid, self.vid, self.ts, self.num1, self.num2
,
self
.
startTs
,
self
.
startTs2
,
self
.
performanceNow
,
self
.
px12280
)
# self.str1, self.uuid,
data
=
[
# self.startTs, self.startTs2, self.performanceNow, self.px12280)
p
.
get_px12123
(),
# data = [
# p.get_px12123(),
p
.
get_px11891
(),
#
p
.
get_px11547
()]
# p.get_px11891(),
# p.get_px11547()]
self
.
do_collector
(
data
)
self
.
do_collector
2
(
data_str
)
def
parse_resp
(
self
,
resp
):
def
parse_resp
(
self
,
resp
):
if
'ob'
in
resp
:
if
'ob'
in
resp
:
...
@@ -666,10 +673,6 @@ class PxBypass():
...
@@ -666,10 +673,6 @@ class PxBypass():
self
.
cookies
.
update
({
self
.
cookies
.
update
({
'_pxvid'
:
self
.
vid
'_pxvid'
:
self
.
vid
})
})
self
.
session
.
cookies
.
update
({
'_pxvid'
:
self
.
vid
})
if
tmp
[
0
]
==
'o11o11'
:
if
tmp
[
0
]
==
'o11o11'
:
self
.
sid
=
tmp
[
1
]
self
.
sid
=
tmp
[
1
]
if
tmp
[
0
]
==
'11o111'
:
if
tmp
[
0
]
==
'11o111'
:
...
@@ -697,8 +700,7 @@ class PxBypass():
...
@@ -697,8 +700,7 @@ class PxBypass():
self
.
session
.
cookies
.
update
({
self
.
session
.
cookies
.
update
({
'_px2'
:
tmp
[
3
]
'_px2'
:
tmp
[
3
]
})
})
self
.
log
.
info
(
f
'px2_decode {base64.b64decode(tmp[3].encode()).decode()}'
)
self
.
log
.
debug
(
f
'px2_decode {base64.b64decode(tmp[3].encode()).decode()}'
)
# elif '31536000' in i:
# elif '31536000' in i:
# self.cookies.update({
# self.cookies.update({
# '_pxvid': tmp[1]
# '_pxvid': tmp[1]
# })
# })
...
@@ -754,6 +756,48 @@ class PxBypass():
...
@@ -754,6 +756,48 @@ class PxBypass():
})
})
self
.
log
.
info
(
f
'添加接口 {r.text}'
)
self
.
log
.
info
(
f
'添加接口 {r.text}'
)
def
do_collector2
(
self
,
data
):
# self.log.info(f"gen Payload {self.uuid}, {self.ts}")
# payload = ctx.call('encodeData', base64.b64encode(data_str.encode('utf-8')).decode(), self.uuid, self.ts)
payload
=
data
[
0
]
pc
=
data
[
1
]
body
=
{
"appId"
:
self
.
appId
,
"tag"
:
self
.
tag
,
"uuid"
:
self
.
uuid
,
"ft"
:
self
.
ft
,
"seq"
:
self
.
seq
,
"en"
:
"NTA"
,
"pc"
:
pc
,
"rsc"
:
self
.
rsc
,
"payload"
:
payload
,
}
body
=
self
.
update_sid_vid
(
body
)
self
.
log
.
info
(
f
'postBody {json.dumps(body)}'
)
# response = self.session.post(self.pxUrl, headers=self.pxHeaders, data=body)
response
=
requests
.
post
(
self
.
tlsUrl
,
# response = requests.post('http://127.0.0.1:58000/tls/forward',
json
=
dict
(
url
=
self
.
pxUrl
,
headers
=
self
.
pxHeaders
,
method
=
"POST"
,
proxy
=
self
.
prox
,
debug
=
True
,
data
=
urlencode
(
body
,
doseq
=
True
)
# ,allow_redirects=True
))
self
.
log
.
info
(
f
'collector {response.text}'
)
resp
=
response
.
json
()
resp
=
json
.
loads
(
resp
[
'text'
])
self
.
parse_resp
(
resp
)
cks
=
[]
# for k, v in self.cookies.items():
# cks.append(f'{k}={v}')
for
k
,
v
in
self
.
session
.
cookies
.
get_dict
()
.
items
():
cks
.
append
(
f
'{k}={v}'
)
self
.
log
.
info
(
'; '
.
join
(
cks
))
self
.
inc
()
# self.px12280 = self.startTs + self.performanceNow
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
url
=
"https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-11-30&ADT=1&umnr=false&mon=true"
url
=
"https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2023-11-30&ADT=1&umnr=false&mon=true"
...
...
step2.js
View file @
bbe3f869
// pc
// encode
const
Ev
=
(
t
,
e
,
n
)
=>
{
var
r
=
ie
(
encode
(
n
),
10
),
o
=
[],
a
=
-
1
;
for
(
var
i
=
0
;
i
<
t
.
length
;
i
++
)
{
var
l
=
Math
.
floor
(
i
/
r
.
length
+
1
)
var
c
=
i
>=
r
.
length
?
i
%
r
.
length
:
i
var
u
=
r
.
charCodeAt
(
c
)
*
r
.
charCodeAt
(
l
)
// console.log(i, l, c, u)
u
>
a
&&
(
a
=
u
)
}
for
(
var
f
=
0
;
t
.
length
>
f
;
f
++
)
{
var
s
=
Math
.
floor
(
f
/
r
.
length
)
+
1
,
d
=
f
%
r
.
length
,
p
=
r
.
charCodeAt
(
d
)
*
r
.
charCodeAt
(
s
)
// console.log(f, s, d, p, p > e, wv(p, 0, a, 0, e-1))
p
>=
e
&&
(
p
=
wv
(
p
,
0
,
a
,
0
,
e
-
1
));
for
(;
-
1
!==
o
.
indexOf
(
p
);)
{
p
+=
1
}
// console.log('add', p)
o
.
push
(
p
)
}
return
o
.
sort
(
function
(
t
,
e
)
{
return
t
-
e
})
}
const
encode
=
(
t
)
=>
{
return
btoa
(
encodeURIComponent
(
t
).
replaceAll
(
/%
([
0-9A-F
]{2})
/g
,
function
(
t
,
e
)
{
// console.log(t, e, '0x' + e)
return
String
.
fromCharCode
(
"0x"
+
e
);
}))
}
const
ie
=
(
t
,
e
)
=>
{
for
(
var
n
=
''
,
r
=
0
;
r
<
t
.
length
;
r
++
)
// console.log(e, t.charCodeAt(r), e ^ t.charCodeAt(r), String.fromCharCode(e ^ t.charCodeAt(r)))
n
+=
String
.
fromCharCode
(
e
^
t
.
charCodeAt
(
r
))
return
n
}
const
wv
=
(
t
,
e
,
n
,
r
,
o
)
=>
{
return
Math
.
floor
(((
t
-
e
)
/
(
n
-
e
))
*
(
o
-
r
)
+
r
)
}
const
Fa
=
(
t
,
e
,
n
)
=>
{
// console.log('t', t)
// console.log('e', e)
// console.log('n', n)
var
r
=
''
,
o
=
0
,
a
=
t
.
split
(
''
)
for
(
var
i
=
0
;
i
<
t
.
length
;
i
++
)
{
// console.log(i,o,n[i], n[i] - i - 1, e.substring(o, n[i] - i - 1), a[i], e.substring(o, n[i] - i - 1)+a[i])
// console.log(i, o, n[i] - i - 1, n[i] - i - 1 - o)
r
+=
e
.
substring
(
o
,
n
[
i
]
-
i
-
1
)
+
a
[
i
]
// console.log(e.substring(o, n[i] - i - 1))
// console.log(r.length, r)
o
=
n
[
i
]
-
i
-
1
// console.log('iii',i,r)
// console.log()
}
return
(
r
+=
e
.
substring
(
o
))
}
function
encodePayload
(
payload
,
uuid
,
ts
)
{
var
sts
=
ts
.
length
===
0
?
'1604064986000'
:
ts
let
t1
=
ie
(
payload
,
50
);
const
BasePayload
=
encode
(
t1
)
// console.log(BasePayload)
const
fv
=
ie
(
encode
(
sts
),
10
)
let
t3
=
Ev
(
fv
,
BasePayload
.
length
,
uuid
);
return
Fa
(
fv
,
BasePayload
,
t3
)
}
function
$C_kKK
(
t
,
e
)
{
function
$C_kKK
(
t
,
e
)
{
for
(
var
n
=
""
,
r
=
0
;
r
<
t
.
length
;
r
++
)
n
+=
String
.
fromCharCode
(
e
^
t
.
charCodeAt
(
r
));
for
(
var
n
=
""
,
r
=
0
;
r
<
t
.
length
;
r
++
)
n
+=
String
.
fromCharCode
(
e
^
t
.
charCodeAt
(
r
));
return
n
;
return
n
;
...
@@ -4863,10 +4944,8 @@ function createPx2(t, e) {
...
@@ -4863,10 +4944,8 @@ function createPx2(t, e) {
function
createPx1
(
t
)
{
function
createPx1
(
t
)
{
t
=
""
+
t
;
t
=
""
+
t
;
for
(
var
e
,
n
=
0
,
r
=
0
;
r
<
t
.
length
;
r
++
)
{
for
(
var
e
,
n
=
0
,
r
=
0
;
r
<
t
.
length
;
r
++
)
{
console
.
log
(
n
,
t
.
charCodeAt
(
r
))
n
=
(
n
<<
5
)
-
n
+
t
.
charCodeAt
(
r
);
n
=
(
n
<<
5
)
-
n
+
t
.
charCodeAt
(
r
);
n
|=
0
;
n
|=
0
;
console
.
log
(
r
,
n
)
}
}
return
e
=
n
,
(
e
|=
0
)
<
0
&&
(
e
+=
4294967296
),
e
.
toString
(
16
);
return
e
=
n
,
(
e
|=
0
)
<
0
&&
(
e
+=
4294967296
),
e
.
toString
(
16
);
...
@@ -4917,6 +4996,165 @@ function createPX12508() {
...
@@ -4917,6 +4996,165 @@ function createPX12508() {
return
ENV
.
useragentdata
.
highvalue
.
brands
return
ENV
.
useragentdata
.
highvalue
.
brands
}
}
function
genPc
(
t
,
e
)
{
function
D
(
t
,
e
)
{
var
n
,
r
=
H
(
t
),
a
=
[],
o
=
[];
for
(
a
[
15
]
=
o
[
15
]
=
void
0
,
r
.
length
>
16
&&
(
r
=
O
(
r
,
8
*
t
.
length
)),
n
=
0
;
n
<
16
;
n
+=
1
)
a
[
n
]
=
909522486
^
r
[
n
],
o
[
n
]
=
1549556828
^
r
[
n
];
var
i
=
O
(
a
.
concat
(
H
(
e
)),
512
+
8
*
e
.
length
);
return
X
(
O
(
o
.
concat
(
i
),
640
))
}
function
X
(
t
)
{
var
e
,
n
=
""
;
for
(
e
=
0
;
e
<
32
*
t
.
length
;
e
+=
8
)
n
+=
String
.
fromCharCode
(
t
[
e
>>
5
]
>>>
e
%
32
&
255
);
return
n
}
function
H
(
t
)
{
var
e
,
n
=
[];
for
(
n
[(
t
.
length
>>
2
)
-
1
]
=
void
0
,
e
=
0
;
e
<
n
.
length
;
e
+=
1
)
n
[
e
]
=
0
;
for
(
e
=
0
;
e
<
8
*
t
.
length
;
e
+=
8
)
n
[
e
>>
5
]
|=
(
255
&
t
.
charCodeAt
(
e
/
8
))
<<
e
%
32
;
return
n
}
function
R
(
t
,
e
)
{
var
n
=
(
65535
&
t
)
+
(
65535
&
e
);
return
(
t
>>
16
)
+
(
e
>>
16
)
+
(
n
>>
16
)
<<
16
|
65535
&
n
}
function
x
(
t
,
e
,
n
,
r
,
a
,
o
,
i
)
{
return
B
(
e
&
n
|
~
e
&
r
,
t
,
e
,
a
,
o
,
i
)
}
function
B
(
t
,
e
,
n
,
r
,
a
,
o
)
{
return
R
((
i
=
R
(
R
(
e
,
t
),
R
(
r
,
o
)))
<<
(
c
=
a
)
|
i
>>>
32
-
c
,
n
);
var
i
,
c
}
function
_
(
t
,
e
,
n
,
r
,
a
,
o
,
i
)
{
return
B
(
e
&
r
|
n
&
~
r
,
t
,
e
,
a
,
o
,
i
)
}
function
k
(
t
,
e
,
n
,
r
,
a
,
o
,
i
)
{
return
B
(
e
^
n
^
r
,
t
,
e
,
a
,
o
,
i
)
}
function
M
(
t
,
e
,
n
,
r
,
a
,
o
,
i
)
{
return
B
(
n
^
(
e
|
~
r
),
t
,
e
,
a
,
o
,
i
)
}
function
O
(
t
,
e
)
{
t
[
e
>>
5
]
|=
128
<<
e
%
32
,
t
[
14
+
(
e
+
64
>>>
9
<<
4
)]
=
e
;
var
n
,
r
,
a
,
o
,
i
,
c
=
1732584193
,
u
=
-
271733879
,
f
=
-
1732584194
,
s
=
271733878
;
for
(
n
=
0
;
n
<
t
.
length
;
n
+=
16
)
r
=
c
,
a
=
u
,
o
=
f
,
i
=
s
,
c
=
x
(
c
,
u
,
f
,
s
,
t
[
n
],
7
,
-
680876936
),
s
=
x
(
s
,
c
,
u
,
f
,
t
[
n
+
1
],
12
,
-
389564586
),
f
=
x
(
f
,
s
,
c
,
u
,
t
[
n
+
2
],
17
,
606105819
),
u
=
x
(
u
,
f
,
s
,
c
,
t
[
n
+
3
],
22
,
-
1044525330
),
c
=
x
(
c
,
u
,
f
,
s
,
t
[
n
+
4
],
7
,
-
176418897
),
s
=
x
(
s
,
c
,
u
,
f
,
t
[
n
+
5
],
12
,
1200080426
),
f
=
x
(
f
,
s
,
c
,
u
,
t
[
n
+
6
],
17
,
-
1473231341
),
u
=
x
(
u
,
f
,
s
,
c
,
t
[
n
+
7
],
22
,
-
45705983
),
c
=
x
(
c
,
u
,
f
,
s
,
t
[
n
+
8
],
7
,
1770035416
),
s
=
x
(
s
,
c
,
u
,
f
,
t
[
n
+
9
],
12
,
-
1958414417
),
f
=
x
(
f
,
s
,
c
,
u
,
t
[
n
+
10
],
17
,
-
42063
),
u
=
x
(
u
,
f
,
s
,
c
,
t
[
n
+
11
],
22
,
-
1990404162
),
c
=
x
(
c
,
u
,
f
,
s
,
t
[
n
+
12
],
7
,
1804603682
),
s
=
x
(
s
,
c
,
u
,
f
,
t
[
n
+
13
],
12
,
-
40341101
),
f
=
x
(
f
,
s
,
c
,
u
,
t
[
n
+
14
],
17
,
-
1502002290
),
c
=
_
(
c
,
u
=
x
(
u
,
f
,
s
,
c
,
t
[
n
+
15
],
22
,
1236535329
),
f
,
s
,
t
[
n
+
1
],
5
,
-
165796510
),
s
=
_
(
s
,
c
,
u
,
f
,
t
[
n
+
6
],
9
,
-
1069501632
),
f
=
_
(
f
,
s
,
c
,
u
,
t
[
n
+
11
],
14
,
643717713
),
u
=
_
(
u
,
f
,
s
,
c
,
t
[
n
],
20
,
-
373897302
),
c
=
_
(
c
,
u
,
f
,
s
,
t
[
n
+
5
],
5
,
-
701558691
),
s
=
_
(
s
,
c
,
u
,
f
,
t
[
n
+
10
],
9
,
38016083
),
f
=
_
(
f
,
s
,
c
,
u
,
t
[
n
+
15
],
14
,
-
660478335
),
u
=
_
(
u
,
f
,
s
,
c
,
t
[
n
+
4
],
20
,
-
405537848
),
c
=
_
(
c
,
u
,
f
,
s
,
t
[
n
+
9
],
5
,
568446438
),
s
=
_
(
s
,
c
,
u
,
f
,
t
[
n
+
14
],
9
,
-
1019803690
),
f
=
_
(
f
,
s
,
c
,
u
,
t
[
n
+
3
],
14
,
-
187363961
),
u
=
_
(
u
,
f
,
s
,
c
,
t
[
n
+
8
],
20
,
1163531501
),
c
=
_
(
c
,
u
,
f
,
s
,
t
[
n
+
13
],
5
,
-
1444681467
),
s
=
_
(
s
,
c
,
u
,
f
,
t
[
n
+
2
],
9
,
-
51403784
),
f
=
_
(
f
,
s
,
c
,
u
,
t
[
n
+
7
],
14
,
1735328473
),
c
=
k
(
c
,
u
=
_
(
u
,
f
,
s
,
c
,
t
[
n
+
12
],
20
,
-
1926607734
),
f
,
s
,
t
[
n
+
5
],
4
,
-
378558
),
s
=
k
(
s
,
c
,
u
,
f
,
t
[
n
+
8
],
11
,
-
2022574463
),
f
=
k
(
f
,
s
,
c
,
u
,
t
[
n
+
11
],
16
,
1839030562
),
u
=
k
(
u
,
f
,
s
,
c
,
t
[
n
+
14
],
23
,
-
35309556
),
c
=
k
(
c
,
u
,
f
,
s
,
t
[
n
+
1
],
4
,
-
1530992060
),
s
=
k
(
s
,
c
,
u
,
f
,
t
[
n
+
4
],
11
,
1272893353
),
f
=
k
(
f
,
s
,
c
,
u
,
t
[
n
+
7
],
16
,
-
155497632
),
u
=
k
(
u
,
f
,
s
,
c
,
t
[
n
+
10
],
23
,
-
1094730640
),
c
=
k
(
c
,
u
,
f
,
s
,
t
[
n
+
13
],
4
,
681279174
),
s
=
k
(
s
,
c
,
u
,
f
,
t
[
n
],
11
,
-
358537222
),
f
=
k
(
f
,
s
,
c
,
u
,
t
[
n
+
3
],
16
,
-
722521979
),
u
=
k
(
u
,
f
,
s
,
c
,
t
[
n
+
6
],
23
,
76029189
),
c
=
k
(
c
,
u
,
f
,
s
,
t
[
n
+
9
],
4
,
-
640364487
),
s
=
k
(
s
,
c
,
u
,
f
,
t
[
n
+
12
],
11
,
-
421815835
),
f
=
k
(
f
,
s
,
c
,
u
,
t
[
n
+
15
],
16
,
530742520
),
c
=
M
(
c
,
u
=
k
(
u
,
f
,
s
,
c
,
t
[
n
+
2
],
23
,
-
995338651
),
f
,
s
,
t
[
n
],
6
,
-
198630844
),
s
=
M
(
s
,
c
,
u
,
f
,
t
[
n
+
7
],
10
,
1126891415
),
f
=
M
(
f
,
s
,
c
,
u
,
t
[
n
+
14
],
15
,
-
1416354905
),
u
=
M
(
u
,
f
,
s
,
c
,
t
[
n
+
5
],
21
,
-
57434055
),
c
=
M
(
c
,
u
,
f
,
s
,
t
[
n
+
12
],
6
,
1700485571
),
s
=
M
(
s
,
c
,
u
,
f
,
t
[
n
+
3
],
10
,
-
1894986606
),
f
=
M
(
f
,
s
,
c
,
u
,
t
[
n
+
10
],
15
,
-
1051523
),
u
=
M
(
u
,
f
,
s
,
c
,
t
[
n
+
1
],
21
,
-
2054922799
),
c
=
M
(
c
,
u
,
f
,
s
,
t
[
n
+
8
],
6
,
1873313359
),
s
=
M
(
s
,
c
,
u
,
f
,
t
[
n
+
15
],
10
,
-
30611744
),
f
=
M
(
f
,
s
,
c
,
u
,
t
[
n
+
6
],
15
,
-
1560198380
),
u
=
M
(
u
,
f
,
s
,
c
,
t
[
n
+
13
],
21
,
1309151649
),
c
=
M
(
c
,
u
,
f
,
s
,
t
[
n
+
4
],
6
,
-
145523070
),
s
=
M
(
s
,
c
,
u
,
f
,
t
[
n
+
11
],
10
,
-
1120210379
),
f
=
M
(
f
,
s
,
c
,
u
,
t
[
n
+
2
],
15
,
718787259
),
u
=
M
(
u
,
f
,
s
,
c
,
t
[
n
+
9
],
21
,
-
343485551
),
c
=
R
(
c
,
r
),
u
=
R
(
u
,
a
),
f
=
R
(
f
,
o
),
s
=
R
(
s
,
i
);
return
[
c
,
u
,
f
,
s
]
}
function
N
(
t
)
{
var
e
,
n
,
r
=
"0123456789abcdef"
,
a
=
""
;
for
(
n
=
0
;
n
<
t
.
length
;
n
+=
1
)
e
=
t
.
charCodeAt
(
n
),
a
+=
r
.
charAt
(
e
>>>
4
&
15
)
+
r
.
charAt
(
15
&
e
);
return
a
}
function
genPC1
(
t
)
{
for
(
var
e
=
""
,
n
=
""
,
r
=
0
;
r
<
t
.
length
;
r
++
)
{
var
a
=
t
.
charCodeAt
(
r
);
a
>=
48
&&
a
<=
57
?
e
+=
t
[
r
]
:
n
+=
a
%
10
;
}
return
e
+
n
}
function
genPC2
(
r
)
{
var
a
=
""
;
var
o
=
0
;
for
(
o
=
0
;
o
<
r
.
length
;
o
+=
2
)
a
+=
r
[
o
];
return
a
}
return
genPC2
(
genPC1
(
N
(
D
(
e
,
t
))))
}
function
genPayload2
(
url
,
sid
,
vid
,
ts
,
num1
,
num2
,
str1
,
uuid
,
startTs
,
startTs2
,
performanceNow
,
px11280
,
n
)
{
function
genPayload2
(
url
,
sid
,
vid
,
ts
,
num1
,
num2
,
str1
,
uuid
,
startTs
,
startTs2
,
performanceNow
,
px11280
,
n
)
{
// let vid = m['I000I0']
// let vid = m['I000I0']
// let sid = m['I0I0II']
// let sid = m['I0I0II']
...
@@ -4951,9 +5189,9 @@ function genPayload2(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
...
@@ -4951,9 +5189,9 @@ function genPayload2(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
"PX12501"
:
md5
(
vid
),
// vid md5
"PX12501"
:
md5
(
vid
),
// vid md5
"PX12169"
:
1
,
"PX12169"
:
1
,
"PX11902"
:
1
,
"PX11902"
:
1
,
"PX11560"
:
performanceNow
+
randomInt
(
1000
,
2500
),
// performance.now()
"PX11560"
:
performanceNow
+
randomInt
(
1000
,
2500
),
// performance.now()
// "PX11332": 1692944411272,
// "PX11332": 1692944411272,
"PX11332"
:
startTs
+
randomInt
(
1000
,
2500
),
"PX11332"
:
startTs
+
randomInt
(
1000
,
2500
),
"PX12248"
:
3600
,
"PX12248"
:
3600
,
"PX11385"
:
startTs
,
"PX11385"
:
startTs
,
"PX12280"
:
px11280
,
"PX12280"
:
px11280
,
...
@@ -5369,7 +5607,7 @@ function genPayload2(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
...
@@ -5369,7 +5607,7 @@ function genPayload2(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
"PX11484"
:
[],
"PX11484"
:
[],
"PX12501"
:
md5
(
vid
),
"PX12501"
:
md5
(
vid
),
"PX11902"
:
2
,
"PX11902"
:
2
,
"PX11560"
:
performanceNow
+
randomInt
(
1000
,
2500
),
// perf
"PX11560"
:
performanceNow
+
randomInt
(
1000
,
2500
),
// perf
"PX12280"
:
px11280
,
"PX12280"
:
px11280
,
"PX11496"
:
uuid
,
"PX11496"
:
uuid
,
"PX12564"
:
null
,
"PX12564"
:
null
,
...
@@ -5379,7 +5617,11 @@ function genPayload2(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
...
@@ -5379,7 +5617,11 @@ function genPayload2(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
}
}
})
})
}
}
return
JSON
.
stringify
(
data2
);
let
strs
=
JSON
.
stringify
(
data2
);
return
[
encodePayload
(
strs
,
uuid
,
ts
),
genPc
(
strs
,
`
${
uuid
}
:v8.7.2:317`
)
]
}
}
...
@@ -5504,7 +5746,7 @@ uuid = '31fafcb0-8844-11ee-8d49-97ed9bc8f96f'
...
@@ -5504,7 +5746,7 @@ uuid = '31fafcb0-8844-11ee-8d49-97ed9bc8f96f'
console
.
log
(
res
)
console
.
log
(
res
)
// startTs PX11385
// startTs PX11385
function
genPayload4
(
url
,
sid
,
vid
,
ts
,
num1
,
num2
,
str1
,
uuid
,
startTs
,
startTs2
,
performanceNow
,
px11280
,
n
)
{
function
genPayload4
(
url
,
sid
,
vid
,
ts
,
num1
,
num2
,
str1
,
uuid
,
startTs
,
startTs2
,
performanceNow
,
px11280
,
n
)
{
let
data
=
[{
let
data
=
[{
"t"
:
"PX12123"
,
"t"
:
"PX12123"
,
"d"
:
{
"d"
:
{
...
@@ -5672,17 +5914,21 @@ function genPayload4(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
...
@@ -5672,17 +5914,21 @@ function genPayload4(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
// "PX11645": url
// "PX11645": url
}
}
})
})
return
JSON
.
stringify
(
data
)
let
strs
=
JSON
.
stringify
(
data
);
return
[
encodePayload
(
strs
,
uuid
,
ts
),
genPc
(
strs
,
`
${
uuid
}
:v8.7.2:317`
)
]
}
}
// startTs2 PX11280
// startTs2 PX11280
//
console.log(genPayload2('https://www.flyfrontier.com/',
console
.
log
(
genPayload2
(
'https://www.flyfrontier.com/'
,
//
sid, vid, ts, num1, num2, str1, uuid
sid
,
vid
,
ts
,
num1
,
num2
,
str1
,
uuid
//
//
, 1700552863875, 1700464712550
,
1700552863875
,
1700464712550
// , 1700552863903, 1700552863903,
true
,
1700552863903
,
1700552863903
,
true
//
)
)
//
)
)
// console.log(JSON.stringify(data))
// console.log(JSON.stringify(data))
...
@@ -5705,7 +5951,7 @@ function genPayload4(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
...
@@ -5705,7 +5951,7 @@ function genPayload4(url, sid, vid, ts, num1, num2, str1, uuid, startTs, startTs
// "716c90f0-8512-11ee-8c96-410f8e8f9c35"
// "716c90f0-8512-11ee-8c96-410f8e8f9c35"
// ))
// ))
while
(
true
){
//
while (true){
console
.
log
(
genUuid
())
//
console.log(genUuid())
//
}
//
}
test_search.py
View file @
bbe3f869
...
@@ -9,7 +9,9 @@ headers = {"authority": "booking.flyfrontier.com",
...
@@ -9,7 +9,9 @@ headers = {"authority": "booking.flyfrontier.com",
"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"
,
"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"
,
"accept-language"
:
"en-US,en;q=0.9"
,
"accept-language"
:
"en-US,en;q=0.9"
,
"user-agent"
:
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
,
"user-agent"
:
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
,
"cookie"
:
'pxcts=979ebd00-8f4f-11ee-987b-b18415b5fd12; _pxvid=979eae87-8f4f-11ee-987b-7b66a112e4fb; _px2=eyJ1IjoiOTM4N2MxNDAtOGY0Zi0xMWVlLWIxNjItYTM5MGRjYjEzNWM2IiwidiI6Ijk3OWVhZTg3LThmNGYtMTFlZS05ODdiLTdiNjZhMTEyZTRmYiIsInQiOjE3MDEzMjg3Mjc2MDQsImgiOiIwNTFhNGEwMDYzN2NlZjRmZTJjY2JhMTZlZjZiMGJlZTkzODU5ZGYzYWYwYjc2YmViMzNkMzk1OTU1ZGMyZGJlIn0='
"cookie"
:
'_gcl_au=1.1.350987795.1701334509; _uetsid=2b04af708f5e11ee8509153ed46992ea; _uetvid=2b04cf908f5e11eea7e5ad9b9c736736; pxcts=2b045ebd-8f5e-11ee-9c50-f7c2e4d7c598; _pxvid=2b044fb6-8f5e-11ee-9c50-c821bdd11c27; _rdt_uuid=1701334511316.a6e6247a-946b-43d0-9f01-cb2d547a3925; _ga=GA1.2.77682822.1701334510; _gid=GA1.2.1162709052.1701334512; _gat_UA-2678252-1=1; _px2=eyJ1IjoiMmEzOGIwMDAtOGY1ZS0xMWVlLWE5MTYtYWY0ZDFhNGNkOTYyIiwidiI6IjJiMDQ0ZmI2LThmNWUtMTFlZS05YzUwLWM4MjFiZGQxMWMyNyIsInQiOjYyMDIzMzg4MDAwNCwiaCI6ImUxZjkxNmUxYWU1ZTMyMGI5MTIxYmRkN2RlZjVkMmQxNDQ2NDAxMDIzYWZmYzc0Y2M5NTY5MjQ4OWZiNTM0YWYifQ==; _fbp=fb.1.1701334512951.1449064547; _tt_enable_cookie=1; _ttp=dcq_pDvX9ZWtsM-s50W5b9OalnX; _pin_unauth=dWlkPU9XTmtaVEJtTjJVdFpXTm1aUzAwTVdNMkxXRmtOMkV0TW1OaFlUZGlNbVl3WkdKaw; wisepops_visits=
%5
B
%222023
-11-30T08
%3
A55
%3
A08.859Z
%22%5
D; _up=1.2.845170716.1701334515; wisepops=
%7
B
%22
csd
%22%3
A1
%2
C
%22
popups
%22%3
A
%7
B
%22429858%22%3
A
%7
B
%22
dc
%22%3
A1
%2
C
%22
d
%22%3
A1701334518611
%7
D
%7
D
%2
C
%22
sub
%22%3
A0
%2
C
%22
ucrn
%22%3
A39
%2
C
%22
cid
%22%3
A
%2278471%22%2
C
%22
v
%22%3
A4
%2
C
%22
bandit
%22%3
A
%7
B
%22
recos
%22%3
A
%7
B
%7
D
%7
D
%7
D; wisepops_session=
%7
B
%22
arrivalOnSite
%22%3
A
%222023
-11-30T08
%3
A55
%3
A08.859Z
%22%2
C
%22
mtime
%22%3
A1701334518611
%2
C
%22
pageviews
%22%3
A1
%2
C
%22
popups
%22%3
A
%7
B
%22429858%22%3
A0
%7
D
%2
C
%22
bars
%22%3
A
%7
B
%7
D
%2
C
%22
sticky
%22%3
A
%7
B
%7
D
%2
C
%22
countdowns
%22%3
A
%7
B
%7
D
%2
C
%22
src
%22%3
Anull
%2
C
%22
utm
%22%3
A
%7
B
%7
D
%2
C
%22
testIp
%22%3
Anull
%7
D; _ga_P2WLKWBNNW=GS1.1.1701334510.1.0.1701334519.51.0.0'
}
}
...
@@ -45,18 +47,22 @@ url = "https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2
...
@@ -45,18 +47,22 @@ url = "https://booking.flyfrontier.com/Flight/InternalSelect?o1=DEN&d1=LAS&dd1=2
prox
=
'http://user-uni001-region-us-sessid-1114-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
prox
=
'http://user-uni001-region-us-sessid-1114-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
prox
=
f
'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:{random.randint(10000, 13500)}'
prox
=
f
'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@usa.rotating.proxyrack.net:{random.randint(10000, 13500)}'
# prox = 'http://user-uni001-region-us-sessid-4909-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
# prox = 'http://user-uni001-region-us-sessid-4909-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
prox
=
'http://74.48.159.194:33080'
print
(
prox
)
print
(
prox
)
for
i
in
range
(
1
0
):
for
i
in
range
(
2
0
):
# prox = 'http://127.0.0.1:8890'
# prox = 'http://127.0.0.1:8890'
url
=
"http://httpbin.org/ip"
response
=
requests
.
post
(
'http://52.52.23.116/tls/forward'
,
response
=
requests
.
post
(
'http://52.52.23.116/tls/forward'
,
# response = requests.post('http://127.0.0.1:58000/tls/forward',
# response = requests.post('http://127.0.0.1:58000/tls/forward',
json
=
dict
(
url
=
url
,
method
=
"GET"
,
proxy
=
prox
,
headers
=
headers
,
debug
=
True
,
json
=
dict
(
url
=
url
,
method
=
"GET"
,
proxy
=
prox
,
headers
=
headers
,
debug
=
True
,
allow_redirects
=
True
allow_redirects
=
True
)
)
)
)
print
(
response
.
json
())
print
(
response
.
json
()[
'status_code'
])
print
(
response
.
json
()[
'status_code'
])
print
(
'FlightData'
in
response
.
json
()[
'text'
])
print
(
'FlightData'
in
response
.
json
()[
'text'
])
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment