Commit 26f939a2 authored by wang's avatar wang

获取webgl2 渲染

parent 0296b342
......@@ -16,4 +16,4 @@ def collect():
return 'ok'
if __name__ == '__main__':
app.run(host='0.0.0.0',debug=True, port=11222)
\ No newline at end of file
app.run(host='0.0.0.0',debug=True, port=11221)
\ No newline at end of file
......@@ -43,19 +43,23 @@
// }
var compressString = function(S) {
let nums = S.split(",")
var compressString = function (S) {
let nums = S.split(",")
let str = ''
let i = 0
while (i < nums.length) {
let j = i + 1
while (nums[i] == nums[j]) {
j++
}
str = str+'-' + nums[i] + '|' + (j - i)
i = j
let j = i + 1
while (nums[i] == nums[j]) {
j++
}
if ((j - i) !== 1) {
str = str + '|' + nums[i] + '-' + (j - i)
}else{
str = str + '|' + nums[i]
}
i = j
}
res = str.length>=S.length?S:str
res = str.length >= S.length ? S : str
return res
};
......
......@@ -17,34 +17,15 @@ ctx.linkProgram(program);
let programParam1 = ctx.getProgramParameter(program, 35714);
let buffer1 = ctx.createBuffer();
ctx.bindBuffer(34962, buffer1);
cbb_1518 = [];
cbb_1519 = [];
cbb_1519[0] = 0;
cbb_1519[1] = 0.5;
cbb_1519[2] = 0.7;
cbb_1519[3] = !0.6;
cbb_1519[4] = !0.4;
cbb_1519[5] = !0.8;
var bl_27 = cbb_1519;
cbb_1518[0] = 0.3;
cbb_1518[1] = 0.7;
cbb_1518[2] = 0;
cbb_1518[3] = 1;
cbb_1518[4] = 0.1;
cbb_1518[5] = 0;
cbb_1518[6] = 0.9;
cbb_1518[7] = 1;
cbb_1518[8] = 0.9;
cbb_1518[9] = 0;
cbb_1518[10] = 0;
cbb_1518[11] = 1;
var bl_0 = cbb_1518;
var bl_27 = [0, 0.5, 0.699999988079071, -0.6000000238418579, -0.4000000059604645, -0.800000011920929];
let Float32Array1 = new Float32Array(cbb_1519);
var bl_0 = [0.30000001192092896, 0.699999988079071, 0, 1, 0.10000000149011612, 0, 0.8999999761581421, 1, 0.8999999761581421, 0, 0, 1];
let Float32Array1 = new Float32Array(bl_27);
ctx.bufferData(34962, Float32Array1, 35044);
let buffer2 = ctx.createBuffer();
ctx.bindBuffer(34962, buffer2);
let Float32Array2 = new Float32Array(cbb_1518);
let Float32Array2 = new Float32Array(bl_0);
ctx.bufferData(34962, Float32Array2, 35044);
let attribLocationAPosition = ctx.getAttribLocation(program, 'aPosition');
let attribLocationAColor = ctx.getAttribLocation(program, 'aColor');
......@@ -62,28 +43,26 @@ let unint8Array = new Uint8Array(90000);
ctx.readPixels(50, 0, 100, 128, 6408, 5121, unint8Array);
console.log(unint8Array+'')
var compressString = function (S) {
let nums = S.split(",")
let str = ''
let i = 0
while (i < nums.length) {
let j = i + 1
while (nums[i] == nums[j]) {
j++
}
if ((j - i) !== 1) {
str = str + '|' + nums[i] + '-' + (j - i)
}else{
str = str + '|' + nums[i]
}
i = j
}
res = str.length >= S.length ? S : str
return res
};
console.log(compressString(unint8Array+''))
var img = new Image()
img.src = "data:image/png;base64,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"
var c = document.createElement('canvas')
var ctx1 = c.getContext('2d')
ctx1.drawImage(img,0,0)
let unint8Array2 = new Uint8Array(90000);
ctx.readPixels(50, 0, 100, 128, 6408, 5121, unint8Array2);
console.log(unint8Array2+'')
const {Canvas, Image} = require('canvas');
const canvas = new Canvas(150, 150);
const ctx = canvas.getContext('2d');
const img = new Image();
img.src = "data:image/png;base64,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"
let unint8Array2 = new Uint8Array(90000);
ctx.readPixels(50, 0, 100, 128, 6408, 5121, unint8Array2);
console.log(unint8Array2+'')
\ No newline at end of file
......@@ -695,7 +695,7 @@ for (let i = 0; i < glARgs.length; i++) {
console.log(glArgs)
delete canvas
let navigatorParams = {
appName: navigator.appName,
appVersion: navigator.appVersion,
......@@ -862,7 +862,8 @@ function canplay() {
}
let userAgentData;
let userAgentData= {};
let webglImg = '';
setTimeout(function (){
let result = {
windowParams: windowParams,
......@@ -876,7 +877,8 @@ setTimeout(function (){
jpg: getDataUrl(),
jpg2: getDataUrl2(),
canPlay: canplay(),
userAgentData: userAgentData
userAgentData: userAgentData,
webglImg: webglImg,
}
fetch("/collect", {
......@@ -899,7 +901,7 @@ setTimeout(function (){
}, 1000)
navigator.userAgentData && navigator.userAgentData.getHighEntropyValues(['architecture', 'bitness', 'brands', 'mobile', 'model', 'platform',
'platformVersion', 'uaFullVersion', 'wow64', 'fullVersionList']).then(e => {
userAgentData= {};
userAgentData['highValue'] = e
userAgentData['brands'] = navigator.userAgentData.brands
userAgentData['mobile'] = navigator.userAgentData.mobile
......@@ -909,3 +911,71 @@ navigator.userAgentData && navigator.userAgentData.getHighEntropyValues(['archit
})
webglImg = function (){
let canvas = document.createElement("canvas");
canvas.width = 150;
canvas.height = 150;
let ctx = canvas.getContext('webgl2');
let shader = ctx.createShader(35633);
ctx.shaderSource(shader,'\n attribute vec4 aPosition;\n attribute vec4 aColor;\n uniform vec4 anOffset;\n varying vec4 vColor;\n void main(void) {\n gl_Position = aPosition + anOffset;\n vColor = aColor;\n }\n ');
ctx.compileShader(shader);
let shaderParam1 = ctx.getShaderParameter(shader, 35713);
let shader2 = ctx.createShader(35632);
ctx.shaderSource(shader2,'\n precision mediump float;\n varying vec4 vColor;\n void main(void) {\n gl_FragColor = vColor;\n }\n ');
ctx.compileShader(shader2);
let shaderParam2 = ctx.getShaderParameter(shader2, 35713);
let program = ctx.createProgram();
ctx.attachShader(program, shader);
ctx.attachShader(program, shader2);
ctx.linkProgram(program);
let programParam1 = ctx.getProgramParameter(program, 35714);
let buffer1 = ctx.createBuffer();
ctx.bindBuffer(34962, buffer1);
var bl_27 = [0, 0.5, 0.699999988079071, -0.6000000238418579, -0.4000000059604645, -0.800000011920929];
var bl_0 = [0.30000001192092896, 0.699999988079071, 0, 1, 0.10000000149011612, 0, 0.8999999761581421, 1, 0.8999999761581421, 0, 0, 1];
let Float32Array1 = new Float32Array(bl_27);
ctx.bufferData(34962, Float32Array1, 35044);
let buffer2 = ctx.createBuffer();
ctx.bindBuffer(34962, buffer2);
let Float32Array2 = new Float32Array(bl_0);
ctx.bufferData(34962, Float32Array2, 35044);
let attribLocationAPosition = ctx.getAttribLocation(program, 'aPosition');
let attribLocationAColor = ctx.getAttribLocation(program, 'aColor');
ctx.bindBuffer(34962, buffer1);
ctx.vertexAttribPointer(0, 2, 5126, false, 0, 0);
ctx.enableVertexAttribArray(0);
ctx.bindBuffer(34962, buffer2);
ctx.vertexAttribPointer(1, 4, 5126, false, 0, 0);
ctx.enableVertexAttribArray(1);
ctx.useProgram(program);
let webglUniformLocation = ctx.getUniformLocation(program, 'anOffset');
ctx.uniform4fv(webglUniformLocation, [0.2, 0, 0, 0])
ctx.drawArrays(5,0,3)
let unint8Array = new Uint8Array(90000);
ctx.readPixels(50, 0, 100, 128, 6408, 5121, unint8Array);
var compressString = function (S) {
let nums = S.split(",")
let str = ''
let i = 0
while (i < nums.length) {
let j = i + 1
while (nums[i] == nums[j]) {
j++
}
if ((j - i) !== 1) {
str = str + '|' + nums[i] + '-' + (j - i)
}else{
str = str + '|' + nums[i]
}
i = j
}
res = str.length >= S.length ? S : str
return res
};
return compressString(unint8Array+'')
}()
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -3046,9 +3046,9 @@ class HTMLCanvasElementImpl extends HTMLElementImpl {
}
readPixels(x, y, width, height, format, type, pixels) {
// for (let i = 0; i < pixels.length - 1; i++) {
// pixels.fill(parseInt(Math.random() * 210 + 10), i, i + 1)
// }
for (let i = 0; i < pixels.length - 1; i++) {
pixels.fill(parseInt(Math.random() * 210 + 10), i, i + 1)
}
v_console_log(' [*] WebGLRenderingContext -> readPixels[func]', x, y, width, height, format, type, pixels)
}
......
const Canvas = require('canvas')
let res = {};
let sss = [
{
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": {"0": "😎", "1": -1, "2": 96},
"imageData": {"0": 18, "1": 90, "2": 1, "3": 1}
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": {"0": "6️⃣", "1": -1, "2": 96},
"imageData": {"0": 38, "1": 77, "2": 1, "3": 1}
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": {"0": "🍼", "1": -1, "2": 96},
"imageData": {"0": 48, "1": 28, "2": 1, "3": 1}
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": {"0": "🏴󠁧󠁢󠁥󠁮󠁧󠁿", "1": -1, "2": 96},
"imageData": {"0": 94, "1": 23, "2": 1, "3": 1}
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": {"0": "📊", "1": -1, "2": 96},
"imageData": {"0": 26, "1": 46, "2": 1, "3": 1}
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": {"0": "🏴󠁧󠁢󠁥󠁮󠁧󠁿", "1": -1, "2": 96},
"imageData": {"0": 47, "1": 23, "2": 1, "3": 1}
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": {"0": "㊗️", "1": -1, "2": 96},
"imageData": {"0": 37, "1": 17, "2": 1, "3": 1}
}, {
"font": "94px sans-serif",
"fillStyle": "#000000",
"fillText": {"0": "⛎", "1": -1, "2": 96},
"imageData": {"0": 62, "1": 28, "2": 1, "3": 1}
}]
for (let i = 0; i < sss.length; i++) {
var a = document.createElement('canvas')
let ctx = a.getContext('2d');
let s = sss[i];
ctx.font = s.font;
ctx.fillStyle = s.fillStyle;
ctx.fillText(...s.fillText)
console.log(ctx.getImageData(...s.imageData))
}
const {Canvas, Image} = require('canvas');
const canvas = new Canvas(150, 150, 'image');
const img = new Image();
img.src = 'data:image/png;base64,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'
const ctx = canvas.getContext('2d', {
alpha:true,
pixelFormat: 'RGBA32'
});
ctx.drawImage(img, 0,0)
let unint8Array2 = new Uint8Array(90000);
ctx.readPixels(50, 0, 100, 128, 6408, 5121, unint8Array2);
ctx.getImageData(50, 0, 100, 128);
console.log(unint8Array2+'')
\ No newline at end of file
import requests
import json
import time
headers = {
"Host": "www.southwest.com",
"x-user-experience-id": "9f32a51e-c800-4b25-b9df-08b380a4b011",
"authority": "www.southwest.com",
"accept": "application/json, text/javascript, */*; q=0.01",
"accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,ru;q=0.6",
"authorization": "null null",
"x-api-idtoken": "null",
"sec-ch-ua-platform": "\"macOS\"",
"x-channel-id": "southwest",
"x-app-id": "air-booking",
"sec-ch-ua-mobile": "?0",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36",
"cache-control": "no-cache",
"content-type": "application/json",
"accept": "application/json, text/javascript, */*; q=0.01",
"x-api-key": "l7xx944d175ea25f4b9c903a583ea82a1c4c",
"ee30zvqlwf-a": "DRip2z-=IifLoz1hk7Wfl0TyeyX7y2lhbD4aOA2xewEVjEcWY85sNYrT7ccb9kQ8x3fUVPxcHPN=EJHT-4=C-AHlLHGOHHJBezDoa0w6GtdPFT9bPde-tV-V63sVooRIcyz6oMc-p2OGoteVyMj_Nz-wINdgZ=tiApYHBbInfhSpfhI-0N6OREvevQcJup70jkF3gL-HNHfae79YlCulXAnEJUFH2xDAhNsLivMkedkEHTjrgVfyH7tTny3QedeQ0Om=piXh_monEzB6iucR7_ObP-QX05c-4CesFhvB_x1RUCjsONnP4lC5sWHpAPgzzUlh2FG24GOt8SPG6ZEnnhqRnwTXWeF1bk1JFG_cm7fWwnbDGWYVvTHUpDDy6rb2kToIqCUm1BO87tpnGnSwP0UBPMzwSd5DA-9qy75TVW7fFaQTd=Tg6c_g_PwaC1N0sL9hfPZAtb03lyFcsrovghzSHVd6MnJ_=zmh0NJoEXJ_sSVkAQEU7AgraXUGapsiT4YJ0=5WNl9vTVn47sPl_BgCnRgO4zL7kbZpEtQAyXDbTaSip7QdAUwk=6qQ-ZjgEWe=_jo3NDesGWkkLHTzQTwO-0vyxOy-4LOPV2kUoPk2hM2kAtqB8D_=n4mGsZ64lSJG2Yrb6bZGZVf2vnTb3DjSzrvG_ZBojwnLSCU8BLHgl8IEds_0wZqrGstHy69mofHZnG-zMVH5NxHXiLs2UHbk61tehFORXkyb217aBtPAREtcxOivXZSn_akUIc0rMSEXGfHqli72gNj3Lh1eq5cFWbm22UH7pgZuIwXvnxLuH_j-XZUB2lfm2p00Q1agudkZumVR4ozMoHqjbkSvvPe9ZB2_uZ1uaP5cEQt-0kYJucoYEYZJ6RJaJ2EqzLy5et1cCRRLI6QtLkj5J4BNHwDAN-=javavlXYze_nj9HXZ1CNLqgRGS46fMfFj_lN5=x-EdFqgvvQ9h5iC9pTBYmF7jnsnZMsYk2Zde9XOPUgCsAm71PYp6WXrD3LGnXOBQbdFFmaPBY0JeBUaTYBzHh3gBU03SC8_6o8PZofP_tsIRuhHxzXFC4uUjVoo30eEuCCrHyfzb0ioJlhYMRigUHbtLZjlU-m0xO7DnwpwaX35ytqJVj28bx-zTcQ0ZdphnYxn1UezUr=ajevjPWi7w7c-dhHWwx6rVcOVjgx5kz4sksrot4s6rwPs5zqNOY3tRy1chp_Sb=VtHy=UftD-6_XCTC1VIp7RqGA4zB7a9S-gnxyvQ1rM-T--SRyurAEknPbjS6G91IxIdUrU2Mud1kC6FDODM77cgfbZ6gqbhG2e5gzVNVRRxGyCiGZXGZWZknFqOHynnCuEFSTQ9UwNvaDsTIpG7jAX7kmv=WuZvJE3hZE2TA88wM9xUJqxGCedlbS_WdE_IVi0xRWVUUX9Qc6CnP2mJIo0E5RvDu8JYNMFZ5i4iBWBRB2Z4=i2LZNqToc1U8jFnjGFHBOWpoLVEFeM5wy9-J7dRte4wi7M6U8NmGvV89t9HYkzL7HCWr-0rMZIezAqGHhgNr4yhMVgGqXDzy4T0EZwcYHrY6m5nk=Sk67LYj5_WkkUS6vVZQErNULuoHUwf9g4Y-qA6HHOdyJcN0_8bUkDIFiv8V=pkXlGCvzFZH50ek5=bjYjEe2yfzE8F2nLecIAzWuz-ABoiNZ0QoZ0pGuvYd0N5Hif2eW5DtXd7CLnZ5qh4-L4f92CsJUFuQkormGa0MSuwq2MDYDSSfjxd4Vm3pjkwq=MN8ndnHuOxw5avsZmC2PGb-2PmN_vIg28ch8AUXjC3porIdDEwk742ZjeVLVjvy9LziqaeGIhQgRWDHVwvGit0JtBI69JPB7E5hUDlqOa3_mhDOIO9TrZcCJIj-9qe8=3t3CuWETjLtkf6fGRMDws7xqQCM=NAsOSjxX3CNlzh11R4ppVYL6z6=Zxf5RxAtlTgEwIV8_SJZweQYIUgD5LXJH2OA7=PaY8tUQLEyupzlBPgBW5hwy_sPCWIC2GsVkDiT7auMph5AwLjO6R0XFzdLSd9rzlFwhbObTXpJbIGfbB2Vdp6BUa0OYiAw7y9U5XuGjheyDDjgNoIeLQ6gg7YNDeyIi7FVVHGt1wpPh4IQP8_-BRRwwI19TfHfbsMMxTkBHUs7QdbBf3-2Vwb87H9L6WFpWInVaPmsadiUCy=706BGyFRGdvm5hHAiYtLazt=mofrOaQLf1FqaoHiUNGhUoCiW7u_-c7Hjgya7NfkNywye2-VwziuQCX5wAwNcSrI7-76akhQBnLaFVB95Vq92xI5puu_knPuEp80f6BlJTN5EMb6LIxcT4Tn45OgUGaBeUGIJiIGDajf0nhBurxewHcb34rONpV-SbcVE1EIP_o6Dos5pNF003k6kxzvj2hT7J8OZms24=tSyXVxowgttM4isB14OFPxmvSYEkiTtR-4v9R3qv6kvEhEgP=djGobOB2MSrAotxo3=1gSVJttsnS=yh8-fjR-40HU3yPHoQHoQZnqLpH9-x7Vcf2lvdWASzmZsTprEBCRPqdt_FCjeRgxe6hQrgS6Rc9EFO3UPS5eDiSnvje39yonS-F0Q2FrXMU-0kWD3XfxtMydSgoLT-Lgc4bb_PQGDVzShs55PH88ozRirJ8en7VcwxbJSHdg5OsombsX_LkL9Ssed1ZXwWx-fVhzBmRHDuOtP04Dp=qo9excjsCxIAMnhWVNQ5tLl691zHA3cHmVD-g1P=QB3zJheBFRyjJ_dLA6xVV3mDp648cLcgvgQ5nzE=WxS55xtOpyL85lDpjm-qk8UXTtYhRJ2C6Ue8xVeuHNVwzz7OoS_RTw4Cv-SEJXoNMvqToNM-w9MctprDRzDDECCx-i2TfSb2xBPej9CwOww=xuP9n3ME_AJkiSQXuIWVi_0ADXA7ji6oXqRMelQJ6iNXlmYkbT9jWBMjPTDSqPaHwXuLBZTCb86Ek0JftxBatHN7Qq=fZ7odwrFGJH482vSZUH1NtP0U9RUW7EGnQRmGqNrU5nQqohmh=gltuG-S_z4aoWyMfdw6cmoSohxlbAJB4xCLPGcQ3ARz1V=SWAx9NB3=HHXPaT69H3g7pClpJ=weJkLCIgrx5dApXSgklgYw2uMh3UX02WQuSmymcY_N7oiHd3Romofppa7xJkQzUpFc=N1P9IEcUx8WGvOACqShPXmr-Rt1FXNTP_QkBioQwApOdmH8kkeCMDhOt9qE4JMaZ=9n1esMHJRczAvetlG8_q2aodF-DL7NVFrqsA8nmAhoOJCRx12J1V0G4f4wscoiOg9X1RTN6wqckNsdMwoYlDCT5VGcoDybxYxEBi9d2YYsFaNIbV9-PN4s9qzsp7jEhJ-hppyiiz=lqcGFt8Ltmze_mtW4n9=vGHUk4eT9rk6ItQx-kzrZXYcnTMYW1OHYYoZerD_fevOMbQ_aq7ei57BDxt=AefgnUhUgDZbTsDx23Mpxiy7qgt593AwFAZ90EGtO9EcIf6pb8b2nw5Xaz2ZNo36Q6SpLEb==H4DsyEheY5wFfyxM5mll-gnkj2nwyMAnf=LRc9Z6yq6p59ftifsYsbVn9Ccx5cXIZr9=HVogSm22j90ctsNWAkpz7LcW0_6j859R98pEDr4p2jteW-ObgXYxvCR7SvBsSPWwMLL9ZHOZUqMCFfB2eXNuyuT6_ZDMV1lJz_NGwUBQ47a7AEV5jsol74OpySFt6ZBSADQO997NEeCuRZqR7xC15uwG=5srsqJ=J1=rdBcdIbJnxg4lXaoXU-kHS7SV4SgY5GPlwp23ytNUeR1w2pFdY=CzSAap1E-Q57oCmkrr73xczIe0Z=1plncWp7UV9nok-LVdpGQGh9ml=o=wk0xSh4gxXcNN9T-x45sloAgiuYrHRzJjmFBTUP-fp=sYJZXDfxLEsRu3=geiOtEOs7v96XbgidhzyGG=2jl8iCiHn3FAC08ac8blzyN-FJ1UU5g-mQFiCA=VmyLsFC8NQEqrv4z2DwvTD1NOmoRIcTZ0DY7JviJQqhQ4Tocg5Vr69hPjlva4vj9HgV41qy2Cf_wE5QPI2tyk_U_t8S1NBkFzSvPuVa4B_Ok-h-gPnLpdc9WljcI2fAxud7-ufQ2_fgQ-iF=DFV=suc2O9jeDy5BQoNnrV2mhFv3rx-IvnAPkOWixl3xJGdg0GddI3s07eXHCEVZB4MuqBm1g-N6CrSqSEIFtkiiAXZbszpv9ujPsBCcbFriabOYs=9Y40nxbPpgvq=hGvOZ0BMyhjJZ0cAne68j9ueN95wiTbQTcRt0Qa8j2JFUHyTljobRJ=U7cXlgSLSXxArFJNe867tncl2uJTisOAONo6TOl20nWtehvSoFI3eXXUjQNnjcTp1QS7lafqhO8bDSO4nWJwPSlIZpayE4X=Zf4UewFLcQeOjqn9jdz5LR7bAjjiBh=QluZok0yODwUt1Bdw4ntxULIhX30PfVCswjdpWm1pJItDWL-0z7DvBjjbjGdtOVhiwD83derLFr1UhMoZ_o=ODQPa8GnDhYaFj8EXkamV5nq=dxONiwyT7Tyajuh0GC5-LVBT61V2p8e6nPHogI1WYpa0MT=4nxrmOZDE2Db=o9-sXbzg41JHfsFoAOB=RX79hVso2aiGkzHxSwEiEqrmr1hRbAjmXvRj=gkiuNb8_aV2Yb6ckLre9Y31FxPT2PCEG_CXXoEhuPBQmLD3hyQYgsXVk1MMnS_y0m=RV1cFF8AztZ7aNGFVZfbVqL2bR76U5GxPBuayAkONPcMr91WfJRx85TnHUQwCng533kS0QX0iGWeSm=o3o9Hh3FBVGYEqIcEHcH_qifwDyEC11iPWj7ss71rZ2UJDgly2IPt2jkgtelH-jWB1cZ4d3_plmyc=iFFL0I0HBDUo_4XbFEeIAJowSA4sQf0vls8pwUOm3Ha4YWcfvlP0i-XHluHEwxr9M-JphMG-1xL_bFqoqFkVkBdQMd5yT-gHSH=_aBuXaVhqE2NCjzY7DRggwiO0_67enXxGUqDAtAHER2HRxsLBYBSU0FEkENkzM0D3Uavz0FhRE=5kAWeOzguqSuJzFOLqhwFf3oMXUf_YElCV6ujlvxlfB=28bYkjpO3YaBTUJ1_6XRT5fQ1nTlnX7N8bnWvoDD46C90=uc0ZDE6nUUmJ3nG5tv=mlTDCZ_lnU6ZicTjHCJBJnj--Alf_RNGU=OwGJna3DOeZEJBFIJNRdlYtsn7yA9OTNBGsd2sYTN_Y9h54GFxGzvRUR-9rxSa85WmyA8NP_80B6fyjkTeRUMo7S4RjusE01YuPWStY0VM_0NupCgws4SW7Tn4_vO1hTi2nL_boE7uOC9FpzbpDzSyDtej6ZtseqBjWiayRcXEel0F8It4ZnbWIVA7AQ5fSB9TevZNWSe8sm2y=LaJdXHz=qWqGB3SfBsqVXigsSUJJf1n9y4jj4X_g0rjMswGWVa9BDUG7Jr5x1L=kS3ONk68B3oe7l6Gv53aAltYbMaixhw99-eNf-Wp6rvnIVAWEI5Td8ORa1XTazjtmRPa_frX-uo=1x48IoYd4XoomVS4WJYRsgV008cqfVARADDoXg27xrjXRP=7U2LEO76uEnUV1XSgDziF=GOFN1IerAMEi7C_Q8vdCkhYeYek_Oizkpt8Gbtu6vNpO1L=9Q4c2E=mQvaaGRRS2aLcd34EObVx5EJA9uLZXmQb3GiFejqoyV-Lsk2oc7W3qahGc=h3pqsRkOjOLbJ6_O__YOC9931Td2kQ5dHjuHqfMH50GJdJqZo5-BSJ8XQO8jkkUEOuB79oNJrpEDWJRWQz04LNVxl7uuhiOjfu=2UaYskgnUhpiJf14htCF9S15IhfPyWnRvwMfgRCGq_=afRCL1=oCAv5uEle5H4VmaN=A6sa5CyEq6bQUfG1e70Ut5hGBsgoX4x4XNV9V859SF-jpH5MPa-wjEd2A_pmJh1xVzHJ9n54m9dgLw3uM2f5BRlYLVVUe3cv2dVtasI5jIU7269od6ZN9N4freco-4hWOhcyIseOunAVNOImvSRzcybJ5NzbL81LwBc_n7Fe9XTMabWhtYUo787nJy7XhzAWQAUILONgud2J1jW2-TtcAdxcOrNbE0r8Pvw4sp8Ts2yLXhiNLOe4fblnycFXRaDRPxFCGZwBA80yazIoel1sUsu1xzaDVv=ZcyU41jAHFdtwepqlD54CbthTyxtuyAhkoJn5LwUlXmVC9ircZLakWd8r30QZogALVxEiUX7OeWqT2qMW5Rp2pUm131fYMzCgs3=IR-OfWHkaUoJmJPwO-fk43Ff5x5N=Tq6UEyfTqtRzDeLhgXbh05jhdlq2AU25IGNbXB1uSUsN54pFcHd8mSScaEvIQ6WvzX3Dj4r9Er=-QU8AnU8JRH7q7WjrawaYOa4x4qAzW8VaEg3ovCl4aM0tHJenz8u0ULdH26ZcpRif5MD3l7ByRn2RbMEpdIwBD4qQ_Tq6kFwirl-L2bicooZzkhOkhHYehnqZdFEl31TBe6fTrkA_bkjxvzq-sB0r-SWIG0i=qY4BsQVSya8az=IuWy5fISZTNo3-V5_1Ir-lp13GXf5gdc_qzD98WbnYD=uqtY-=4bOCQoI0X=PUmQtYO6IcGE5CjxDp7O4Q0rYVBur1IW1fbZtqFhjNSFfPrJLVxrZzlEnsaGFdcj9p7g--UA2t=zV4W-WgC8ULeIH9oZd9WTY7Ni-d8InqmVu3yeenTBZ9rXybjxxk8sDRL2EjMip8rwWFObs077Vw7ZThBo_OAavNSEn7bYHUL73FTH7C62iP2gxW6C6g1DwhDzux-ZhpVCcmCPTM3nGOiun9UuqtnkGdwl61nU0nJf308R9_YAvomGdBjx3cS4MaGciFJLFMcBT2Ik9HWGSzU9Y2SsYZp=tWU2dN=QFR9ftUPte2RXNmHFhjzvguUdedAWFBFd2YWunndBRGj1PaXLuu0w7Wndpls94cD=FQGmH6MfBR0qEPki9o=gkjI2QPblmju-CWH1U2g-Rpd7BU8V4kQE60gSYJaqWjtro=uMYkosJs_NghQOs4OB19PdG7AjgckL0oy-po34QS0kLg8fVLO-2sqytnGqyMirW1d_=tQaxLC6432e-uZBnNNDVnVWTWXR9hDYP7dZ8thx6sVmZ6EVo5q-d5rs2TgGg-3tTuXIHWv0CCx7MzBfBlY=UDa=tE95G__wdDgaP_mFpQz4jczMvOXVJYLyC_M5IHHYqlE87obrsST1m48UUaXZ6Htcl7nw8qSlAHJZXBOmA0mROFyVBErprTPhlVw6wRvSrrgj2-clCYYEnoMVX0_F7D9njky2t_by_0ZrewHb9HD2WJX=DzOn0izGJ-qGfU6NHJt060ZwaNwHmknxO=ArJ2Nb6O-GD-x393qWw4a5e9-C0_zgGUPq-l3ogUaHb3eUM-7SY2nA3iUmaabS7OZuSDrG063J5Iz3jIM6bknIGLtlEYobGPD_NyIe=97M83drWkFccSwsEjwebUVeSFDzG4QpmFnpuYIoihxgwPHI3ue_ud8aSzlUWumchteqHWBoId90lbgRgA-TF9bzTHsRG_NccOhQDf9peuoUGE2GkxpGBWBhO=_d4Wl127Ag0Q0YoTR86B6XfMNfXY_1au2OlxeQBXS5hGvvJi_CjVjNTo8XFbXsAJ7Q5q8p_ba1nCk8he1Bvzcy-kOw0D2oYSV3roeE2fvkU_O3_cATDu9pwNu2xfATC4yD0Lc",
"ee30zvqlwf-b": "e3me89",
"ee30zvqlwf-c": "AABe0haKAQAAGOkwL-Ws2A-sA7h7llKjl_-Tt7EF0TqdXZIfVUBO0Bst52ld",
"ee30zvqlwf-d": "ABaAhIDBCKGFgQGAAYIQgISigaIAwBGAzvpizi_33wdATtAbLedpXQAAAABivrRTAPgZ6FUl622VSDCKs-dj6Ys",
"ee30zvqlwf-f": "Axsg1BaKAQAAKFDFgqlBOb9C_Ti94I9XS5awbqEQeP_7jXXYhV5Y19dkSVHuAYGZYICucirJwH9eCOfvosJeCA==",
"ee30zvqlwf-z": "q",
"origin": "https://www.southwest.com",
"sec-fetch-site": "same-origin",
"sec-fetch-mode": "cors",
"sec-fetch-dest": "empty",
"referer": "https://www.southwest.com/air/booking/select.html?adultPassengersCount=1&adultsCount=1&departureDate=2023-07-13&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=POINTS&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&tripType=oneway",
"accept-language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7"
}
t1 = time.time()
r = {
"sec-ch-ua": "\"Chromium\";v=\"112\", \"Google Chrome\";v=\"112\", \"Not:A-Brand\";v=\"99\"",
"EE30zvQLWf-a": "N0o1dKGE3CQx6-GKMzR4rtouSIvGBU0SMlXHLblfyz_KHqs=Be6bs=o7nxpe7u1=6unACUmZX61dqMyH4MEbZaPswmfmuxEjl=ryRLWk-oqU908OoleSQzCGaH1vfl-W7m4zXbUnPhiWD6luOHW0X6mS_SsPRVn6OYGXMva1psKNPWviLdt2V_YZvGSHFMnBe4bhxNk6uAXqUhKQwhlfDfSN=NymLzRqN-N04RvdQE5iEC5yN7dVtIfFe0aVt=QJy-9oj3i5GaxFonO69WavqvzChSRHuuS6pq8Dx6gjyy=GG669NDGr0rxjGOrdJ4uX2HC-QXx0S-bI0ZO8sEhikg3Hm5Fq08RHk1Zz1bRMUQkyi5L6lPfexq9K=zzKNJOKNqG0w-WbBvZg6NpXUgpN9-Y2qdyh4YUFqh00CgKX6EiMJ6CVL-NsbsBxCK0=7GP-dDqHG5Qq_02oHiLV16jXx8XESD5O9lfJwmkywN3e05GPA3zYGkRcIEO0xJW0iWr5s8n2BHoaucot_WnhZGhLN3fhnMaMGoJPowdRJBfaFLVPGP6pLg9AygrdVcgFkBH97SLpqI6nX6BRuweFe801D-bRmFBgCwUZfMJolV8eOBcR_n4FUpDe=rQc0swfyHgm0pA539DE5zBEWs9xU_lqf2CqGudeYUMwXMlS7NAcIOa-e_QDVNAbidCIdVUBJYYUWImltLfXco_VwIYzmNANSu3owYwo6M2hFFbMp2IJasxhUvM4a15C0XxHOaHAhnj3J9UpEu0YeFsqdep01=lc3WJMHC-0F6eCFgsYB0yuVPSDES8hXzQcxyXs4BRj5MDa3tcK9NfseRcClb7wQRV1SNR0qrBau0RdHMvApd_jJCP-Ca-FkZhO4CH_GnPGmGa0Fy7pJ2-LAstKDe_tJRgGhvYeZztJGgvPj_hiMMBJKzWbgE_GtoyVgyd9ey09BxQXwge9Gp4-GYcuy8WCAKyisry264=igi7c9hznnmo9dktDRJlVHA5SzOuSAQlaLL-64rK=tdmpgnFcJCKGxMsoF2A2mozMaKaQc5ds5JNXbenQcBuw7O6nc3Z8fsE2Gszy9RFl7GMXjI1KIi5LLhDxuXrtAyxS0nQQqboe3N-4ZMJLk7eiiXlA-_0joZvBh9OEb3wx01N-pi2FdY0-aZK0_wKchGfcoNp1x-P4pXHUe5sEAsmNd4V=mIINrdUV_BC0ykt9jiUn_5KD2BptjJOR89FWcUoEJJvX3ySfexV6Qx074AjzneDfmRNKq=9M84UtCpamVhYnLs13ENdapCPZ-3ziH03fcwa=gKLsBazLEBdNj0-1vP_bE-fS7DdxnchM6opAX7-NGm9BHioqpdiNSu0SKPixSuem0p4uacux1RA025IwqhdFsb_VzR92grkZ1jfkzCRVy1uOdmYJCI4xr0EQImP8tQA2ZWIrqpWkHUQbw26-e3bIAH-irrqtmMuJcFZ7XVwuwec9oq-PfmC3OMB0HpXtPN5vnzfC-Mu1QyMyuQdeXMfR3V=kMeByE9U1339XCtWHeaL2gH1FEcNU_3l7MVhBUiCisQeQomfixyy=N=HkzMM0pQ6cYuV5ONrBfnm0pz0PAly7AUBxsuE8ywJiiQ-6WYalldskuO05C4J8Qq8dP3LEjep4Mne-qnV3voaLWc09ofzl=SL8ln5sXdyAi80n0rJjhFBDccFt4cjrPymH0HE6rH0fIDw-wEwW2noxg2x8__sl7pR9S0JbFXoQKR5RCcfOoh5a_P476PaLW=R5wrP4NHD-n9sb",
"EE30zvQLWf-z": "q",
"pragma": "no-cache",
"referer": "https://www.southwest.com/air/booking/select.html?adultPassengersCount=1&adultsCount=1&departureDate=2023-08-23&departureTimeOfDay=ALL_DAY&destinationAirportCode=BOS&fareType=USD&int=HOMEQBOMAIR&originationAirportCode=LAS&passengerType=ADULT&reset=true&returnDate=&returnTimeOfDay=ALL_DAY&tripType=oneway",
"sec-ch-ua": "\"Not/A)Brand\";v=\"99\", \"Google Chrome\";v=\"115\", \"Chromium\";v=\"115\"",
"sec-ch-ua-mobile": "?0",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36",
"EE30zvQLWf-b": "-ntu4jq",
"Content-Type": "text/plain;charset=UTF-8",
"EE30zvQLWf-d": "ABaChIjBDKGNgUGAQZIQhISi0eIApJmBDgDkapxi2jdlhP____-c1sW-AMbw7ooMg7NqFwz0R5MpGoc",
"Referer": "",
"EE30zvQLWf-c": "AKBBdRCIAQAAz4Uwquo2h4gyuGt2lMzpV2EK3mHXmvclcTyS-eRqnGLaN2WE",
"EE30zvQLWf-f": "A2iAeRCIAQAAT5srQTpvdAPDkqdULuTzzaBmwBVXI_Dp9Q1sY0R5B_CIq4SwAT3gXZuuchZ2wH8AAOfvAAAAAA==",
"sec-ch-ua-platform": "\"macOS\""
}
r = {
'ee30zvqlwf-f': 'A7BcPxmIAQAAX_87deQmX9d9wSoD6ivvefVGI2iYMrvmgHuTdm_e_C70bVW3AdIDnZauchZ2wH8AAOfvAAAAAA==',
'ee30zvqlwf-b': 'bquhjx',
'ee30zvqlwf-c': 'AEDgPBmIAQAAwzFO0rWyyOOSJIGbmXjRaVDIivb6RsyTe3MegTNL64awlIgW',
'ee30zvqlwf-d': 'ABaChIjBDKGNgUGAQZIQhISi0eIApJmBDgAzS-uGsJSIFv____-c1sW-APp9ZS942BJoSyMX3LpALro',
'ee30zvqlwf-z': 'q',
'ee30zvqlwf-a': 'KttFMwV=XhWe8m=qNOIuh1dvY3cpRfWpUoeRI9gyr5E6EYIuBY7_9GPklDMW1zgc_Yg8wvgfUU=6rfssP9eNUoNjDt2d4M8XRMNVocQkgeme=j4DTHOxgnh4aNQDtl8DiNb=f4Iu-9vYKLgnTy3C2_IKpsGsoGI26rIK0UaJWJBQBpiTPDrGdhw7pZRlABXBmtiQpOv26iaUZ=Al2NZguvvkBY2L4Na5r3QbjAXNEWA=sIZoWREC7u8l7LPekbeCDfJ-jxJtqpwaVYV2nww7VuzNYddBEWiMECF2pZmY21i7TdXlWf6feZTIOGEnrk1Gc_v6i-rpBaZb5xMOgF_j--WTgDkWz36DpEjNnDsdvoVCP4Rvb_TPovQYCMa7fWKt0NKQdq_5koHdOLrvT1X5b0t_ZI716XQzamrQmxeX9vcTtMU4JF5tqjaLY_EefK=VpFbDQ=idaj6EFlHGvATaFwdgyyR9H_1goKgURipWLDqt3m90icJpkVonkvZh63BnbvC=0nwP2bIEErnH20ohrzKhXbRXMDwre4u6vAHrUvc83jWuM9EjU_v1Il48Vr=xYeLU8OarutfC3IFmtvYbOJTmcekfUVtfiA5hZUsblLgRXD-7EuZe8WCG=z443_DkVNLbPusKLliwyJv6Lfh5APw4DivMCx=_C4fYqXJtqVcvolufLG-pnbU2W3p-XM0hOayite28OBnWJnKP5=eJ7F=8Nfw4Go3kpAOQjg_a4rNO=GWC9cV64dtaeaKqP_hhBxv=CXXwTVt2om=hCacW4ixdMn6jCvLLD01=HCLJV4L2rWm_vAhCg7zg6PVMkCO5wT_CarTpqjo9ew5CVMFRJtzYyviZhO_jEp_Js0zI7o0Eox5sWiqApRmfNtWD34z9tMTB4EiRHsAdZc_QrnUZZGOv6vAvo6PHJcmBgD0u6mTAF3LD0Ic8OgW06IRiMTuZyRrrhApcNgkV-mcZ6riPH18QXQTvMbVAo2vcLF3O7lUy60tCizt3-yR-7PFfRIW0QGNHNi583pjx0XrttUzchWbF8-OgZddw_KEX-ReT-_ft-dfnaEF3Co7J4GUNsDLJDfMOCsnk-aoBnFWsWQDuldvdfG2K1Jqen=Gb7QBecoWUb3zNCqcD-qoX7NUH4geEulnXFJk_onOAyIsVGlxER=6ZrvH-65QDMzTRyHBjmTZNKzvjqVEtU8jt8E4fqxR0ezJytu1HUsKYQix2qAuh1PPm=gRaUg4JFzU281W28T-DNzAAVP2fYwA5_lf6wiXAzJotXL7kNUu=CJyJh-MvZ4HEtFhziNVjYuY3dNxDCVue8B6959IWT3HfGjZc1rytY2pF8MI1RO7=xX_saboXvrI1Bu53WZ=-sFf419c1boiNFxsEuCD29jIYsCijTvTEFEMt60ZsGOyWGayafFb7pVb4__jvAuN10MbXpABFUci4JgAIiKyzq_utQTmiUJ2wau1HFtv74agDHtB79mk8x7WjAiL618XOAuWEacX3ukIlDjVODaingyY20QQ9KxYG88VkOzvBF7CDYIg1KQWkrymbnUpkIlIEoetFpXOW_IDGT8KDNJI5Va-nOtkI4rHuL6OwsfT6pKtWqBajJKZOHdDGwksjflC6PN2GPrurHNotL2Gc4eGXOQEVUb8HBtn08EoDZrlG1WjPkOAEGEsg_G0vVDsgoQdsbUBeGMH-EGsRC4F2rTQ3YlJluN=JXRG3riLVh=kto7_HInBGrh5927X4rqGVEfzh8s_7xAXJHuY-Pr=knLrKMgiK1rWyCRK-wjbit6g8XMyT84Oyrv4sLv4JAVOCI5=iBrrwUKFlbV6gmUglhVTAsRwJOqA'
}
r = requests.get('http://127.0.0.1:3000').json()
print(r)
print(len(r['ee30zvqlwf-a']))
"sec-ch-ua-platform": "\"macOS\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
headers.update(r)
cookies = {
# "swa_FPID": "979f55f3-3505-4286-b5ae-ffa57f781e9c",
# "PIM-SESSION-ID": "r0oQ3eThtpuj8xnh",
# "akacd_PIM-prd_ah_rollout": "3860618795~rv=34~id=529740719b41df7d578fb1c734df575b",
# "at_check": "true",
# "AMCVS_65D316D751E563EC0A490D4C%40AdobeOrg": "1",
# "s_ecid": "MCMID%7C38608080011084723602059661987147614374",
# "s_cc": "true",
# "nmstat": "09922a4e-6c23-b688-7043-f7e4ef8fd137",
# "_mibhv": "anon-1683166002770-9292342780_4971",
# "_up": "1.2.1441922756.1683166051",
# "QSI_HistorySession": "https%3A%2F%2Fwww.southwest.com%2Fair%2Fbooking%2Findex.html%3FadultPassengersCount%3D1%26adultsCount%3D1%26departureDate%3D2023-05-05%26departureTimeOfDay%3DALL_DAY%26destinationAirportCode%3DLAS%26fareType%3DUSD%26from%3D%26int%3DHOMEQBOMAIR%26originationAirportCode%3DBOS%26passengerType%3DADULT%26promoCode%3D%26reset%3Dtrue%26returnDate%3D%26returnTimeOfDay%3DALL_DAY%26to%3D%26tripType%3Doneway%26validate%3Dtrue~1683166057541%7Chttps%3A%2F%2Fwww.southwest.com%2Fair%2Fbooking%2Findex.html%3FadultPassengersCount%3D1%26adultsCount%3D1%26departureDate%3D2023-05-27%26departureTimeOfDay%3DALL_DAY%26destinationAirportCode%3DLAS%26fareType%3DUSD%26int%3DHOMEQBOMAIR%26originationAirportCode%3DBOS%26passengerType%3DADULT%26reset%3Dtrue%26returnDate%3D%26returnTimeOfDay%3DALL_DAY%26tripType%3Doneway%26validate%3Dtrue~1683193032649",
# "AMCV_65D316D751E563EC0A490D4C%40AdobeOrg": "1176715910%7CMCIDTS%7C19490%7CMCMID%7C38608080011084723602059661987147614374%7CMCAAMLH-1684464095%7C11%7CMCAAMB-1684464095%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1683866495s%7CNONE%7CMCAID%7CNONE%7CvVersion%7C5.4.0",
# "X-AK-PIM-INJECT": "sync",
# "weiygrety": "CCZfHKo6",
# "sRpK_XA_swc": "%7B%22_rt%22%3A%22DQM3F%2FlXkinE8CmqnymaredHUrCQ3ACk7UkW4jjI0vA%3D%22%2C%22_fr%22%3A20000%2C%22c%22%3A%22aTRzT0JNSng5SUNMTXlQdg%3D%3DzFQWN_z1f8OSxci89H5pjkM69h4eoilYo9djU-MobgbVu8Oq5fNvZLmCwWL22wxjzT6eeX9V1RaBBehKtuuQq7y-Hw5_yVTQtTqHO7a5wYkc5lA%3D%22%2C%22dc%22%3A%22102%22%2C%22mf%22%3A0%2C%22fr%22%3A%22ynVPTJn3OPNk6d4jppxwcg%3D%3DpJ9fKwW9L6YvZhoXBL532NzA1cKCdOnOYyxm8JJe4r852eD4zVnTr1Z5mH1nf-ltZuv0uvQwVmll1EotUoEq686NVCXah4kM0jQ1SMONr4tKcEw%3D%22%2C%22ct%22%3A%22N0xqfP9dvTHN%2FDf8tmCks8VeBP%2BV4BCh1nwA8E4%3D%22%7D",
# "sRpK8nqm_sc": "A7jdguSHAQAAvGAV4-pBus2_QMHAbjyCMQPtXSF3ZLx0OTg9nNCmPQ2f1PC4AS0rIPCuchZ2wH8AAOfvAAAAAA|1|1|dbbde5436776cb4ede26634196258aef6eb75b3a",
# "valid_promo": "false",
# "akavpau_prd_non_vision": "1683861974~id=cf4ad2656adf247dcc90f8be173d5b8b",
# "s_gpv_pn": "BOOK%3AAIR%3APlan%20Trip%20Page",
# "RT": "\"z=1&dm=southwest.com&si=f0f36887-7d75-406b-a966-d0fedf492c24&ss=lhjzl3dj&sl=1&tt=1&bcn=%2F%2F684d0d43.akstat.io%2F\"",
# "akavpau_prd_rogue_api": "1683862274~id=ef05250d45fab128362eb90a479f12b3",
# "akavpau_prd_air_booking": "1683863134~id=4923d5208366ca09c3a5499fb74eb5e4",
# "mbox": "PC#bafdf1525d6e4a36be6240ba96165263.32_0#1747107335|session#2ffd9bdfaffd4341b552e1c0a670610b#1683864395",
# "s_sq": "swaprod%3D%2526c.%2526a.%2526activitymap.%2526page%253DBOOK%25253AAIR%25253APlan%252520Trip%252520Page%2526link%253DSearch%2526region%253Dswa-content%2526pageIDType%253D1%2526.activitymap%2526.a%2526.c"
}
url = "https://www.southwest.com/api/air-booking/v1/air-booking/page/air/booking/shopping"
data = {
"originationAirportCode": "LAS",
"destinationAirportCode": "BOS",
"departureDate": "2023-07-14",
"departureTimeOfDay": "ALL_DAY",
"returnTimeOfDay": "ALL_DAY",
"adultPassengersCount": "1",
"tripType": "oneway",
"fareType": "USD",
"passengerType": "ADULT",
"adultsCount": "1",
"departureDate": "2023-08-23",
"departureTimeOfDay": "ALL_DAY",
"destinationAirportCode": "BOS",
"fareType": "USD",
"int": "HOMEQBOMAIR",
"originationAirportCode": "LAS",
"passengerType": "ADULT",
"reset": "true",
"returnDate": "",
"returnTimeOfDay": "ALL_DAY",
"tripType": "oneway",
"application": "air-booking",
"site": "southwest"
}
data = json.dumps(data, separators=(',', ':'))
headers.update({
'ee30zvqlwf-f': 'Axsg1BaKAQAAKFDFgqlBOb9C_Ti94I9XS5awbqEQeP_7jXXYhV5Y19dkSVHuAYGZYICucirJwH9eCOfvosJeCA==',
'ee30zvqlwf-b': '73ftxd',
'ee30zvqlwf-c': 'AABe0haKAQAAGOkwL-Ws2A-sA7h7llKjl_-Tt7EF0TqdXZIfVUBO0Bst52ld',
'ee30zvqlwf-d': 'ABaAhIDBCKGFgQGAAYIQgISigaIAwBGAzvpizi_33wdATtAbLedpXQAAAABivrRTAPgZ6FUl622VSDCKs-dj6Ys',
'ee30zvqlwf-z': 'q',
'ee30zvqlwf-a': 'MMG=ZISbjIoNcmcwak6wxr5C9A2jAkwLYq55JJBbv-=mZAF2pwrgnCE877aEFUuq_uMypZ3dtC_Cq=YyhRSdwbUg2YqJEnZU27lu4oczv-_kQr0WRam06j6GIwRBr61PYvi2NxYRuaQpgzHft4XcTONyqlC-dd6oJs7hBHMC4-1b4HprEHm=xlW1IvFx-HFllWlFQrPCxultabz9ip6MDy0as0mb4gg=e6l7ve_YQjrTBgHD=_IzB0oxjMwWHNpX7F6O2RAoxPHIsyHJle_vWqh69uk=LMRDxm8jUuj=enReYFROXrJohCop2_3XiPuC9Ch8uPtgAIZS0ln-Vol8G6jsdWpjLcYpOQq3MdbVH3NzLJ2Y1HUaDN05ChEk-WAPjbu4_kFR5Vc0NagZ6ndHy-VPizz3rX8OdFJsD_sVjUg_usGv-QHLejlVIqASVaxYs6PGHRx2acARbqEAjOjL2cSvq3lq9fLV1oj6J_h2Z6dH8afcECN-ly_1jUO9lUZvd8EyTvxIs3OCcvLoi5=v=D9CrNVZqUDM_eh2Gi0PsfJmAwmqgVTQsvt46EEb_hYFA2e_Eof4YTx-bpjIv3NPtJDHl1Oxyd2Vzwr4-wAIwo1hISI=EPt9C6HN4dI9HzsJxcGfOFjEu4MHw9EFTcm8ILQ4=sCv_IFhrwmU6e=3X29LM4-WqYr89AMsAVQ-mpHm-YIY9Qooq502QbYt0Goufbn9AlOOFlxO5phP5g2zjC85tU3Jib4fVp-B_qb1PN_989Ls86PRT0VyyEzt1RjX4RCl=TeHqpyQx-XkBNzB8osPYrWf7b-gcmusV_QqsfDOuDLUq=jsH4VC6ylQhYxgN0fsZQ2ERGOmzA8BXNNB7YPlbHdt1YeEy7zmRZDsoMP4=eY_8LUgwjMkFXrpM29y=wpcWlsrf-UuNBFMzqlnzwxEvz0CVQSB7IZgV6PRtykTv69ZQGyfGl5Qa38uh3-f-g1HbbarAFMqX9_IfqHiRvB0bATOTEdWq4FP3OLBEXQizchNmz=7qd_q-cFmsX1zGNS5nU27wzJglJ7_ZA_ZEQ6a23RckJluvFbf64HYtpY-u99ENhDSN8yzt257le_UDZl0=8wGaNq6YT3XrRcr4FIukuEwdMxgTd5mBLuo_FE5ELDLSy1BtM5J0szCBzQyx_dDwQ9Scc6z5msf1Ep2zuf_RnhthiZBuXP9d_mMI8s_nfzEXWybrsmf65=UC_BS7QEs84Z3pzYwJ3odfJzCCeX3Z2LvDGjDW_LQGz5GlRJTv6-rp3xmPpNU4ZMo268lBsjICs2eikSi3C-uCjRN_oNtoVjcWIz0gE-vV_LlTZwfASgMAcjs_rycbX-IfZxxt=zTO=zg9bunEAiVijVlbxyQhMb1tUYNv89B6k0Pgc8k6HFfw9lL4=g34nW=gU9An2Xz=DvaO52chmG5IAps2mO==ygGsyS4kMU2jyzcfUPDC6DiZz58FXJBViB12m8Ey5GC64JV6GojoaPv7IZn4TXRB5Zln279yBJY-s90E1p-LtQOagSneu_uA2J_gbYF2LNZFT-vozT9HF=je5wF2l82IUcOwyCbrHtoLUeFxVZsBaoMGYcVyFYVtz40FYWp0aDwEHfYItvj0OQMu4oPY3lwtkEEPikJ9N=jMzga7TVaz4nV9v93h0fqPd-SrskuoIbrvzFQB9-8MXIoNnQu893P1ok01EfIg6hZU8eXhRTVeSXuFDUsA46zzC=Ex4y9Hq_CWMlv0QF7ZS05f1fYutJLD1Hx7SBFN6ISY-YN2pbpeas=zfI9idbxapHhpb=El7EMMFlhuNXmfoIkSaw2WlVAJNLs9DTlXbJBrocDYkf9I5X=snVqQ1IvxbNDP8LLbyhnZc-lOhEJoXwLyoPqHNFM1Ty7m6fM1RJ__NMeATEE8T9_dp0wluVPlVILarlP5U6LX8UFYw0d7ib5g4rp-4zyOx4yexCxlyBXpUGjmfeoQZUbvz9=8TqJjCg=P-_EkNGe8JP2BTodRMBrEu9OSgTJblcy5jSrqyTxxQ4oXEgTGIvt9qSjSXBpw0FD4GlCDzA=Rj6_BNXbVrFCz96lSEe1lizUjhGfc=ixV3j5J0VrG4vJCnteSaUubZ-=umQmy_ZbfHwPB_zserqFO2t1nAGczQHYCQnNORJ6ScD5qvQLwcWxb=zuNNiUiefkhGIEU4Fu6CCnYRxSOOVREoLxAl_h27HpqqjIdzIo-=Sw8nzNtunGb-_5v6IZBB=jbkmDRxiyMbV2Ef83gAF-J3MUFtys8LCi3FhD6Ms8ZmU0tJWcWd2OH1AEqClS5xPs-89wxTL1Q8qkxYe9sAMTrrDnGWTVZhzcjI3jGM8xA_0iIPmuT3Lh716RPmWVvJYp4VJoGericp-atLYYey7PTqUdehkY-YLfv40t=ja=EjwyonLesMAYcoxGJEF_edRiQnX-xD9g7s6kPWy3R=_HZzsDWGd0xyBCeGLIC2JgomhMALJ6-gQq3H54IJExHAcfpXitaWFHykRf-GVWZV5uGJrH=6ijUL7lFFChXHdMI_sjp0csdp1QeBy8hvi-e47NnOc8lTJBhkGwyYj=WZQLWrFJ1vSwed_A_rjlzVCSf6n=Q71GAhjlQfo7_pLtFtX7WYFyYx3H_nnkjPOCFC0l6TJTYo5B3nc_6=FhkTaeIOopbwUesfrRZoaGk9kBrE0yD3trZu_wgwVMAeqUlmowi7Iz6Xbp7FH80pSTVuYIwYaNSRR-loy2RMgRXwcchJ0Dz2zhmR05n2Va7DeydBlPiADOm2YosdeRlnRGACCuGgoTtguoWXWetyg-c-O_BY=x=-A-iGpqn-5AAfZaQ7UCajVTucPp=xqIa96zf_czaEr4kpwH2pxjrt9GAmlz1ZX3TBFDmAZmu_cG3OMlIUreJNsVoAfXkaO_gk_J0fRTb1euJtGABvacCc-72pt9=dIuMBY6he7OCrJx50nyom1RlnPcI=8xnCVHB78Pozyq5E0OGplHb7RqniklBYeBnXvNyX-pu7hofT6wa0BmUuc-bP=uYW5ZgxeCcc2kyaHRrarDJx6pvW7Ae8WzJ6ag04DuePJgLBHju6Gx40g8yg9RH9GivOMpCgb3NIJoY-d92v4QP=ko0u5tq6xYjg45k7X8PEYr=WMRnb-5tbeh16LmPjMTfMbQS6bUyf=s9e5XCDMxQV8rLN9GFh30E8WxqLXnutzytH81abq24nRyMvyDiN61PO9RSc7tjZu6YZuXfgIBWrdulQJUI-76XvRUCcqAhXmktqz8gozHx0hpduZDlvcWP-XRakxsRcHXY74u4iMRCOSwLzIQkU9Z4SyGY4MS_71rXmWxu-5z51MVxyRGPTVLjETnw-f953kLjs0TxQ9vqfO_larf0TsIhDP1Wmr=z5Gw-sEySsU_OjD1Wa1_PWiqPIM-6YDByB1NVQ_LJYBtaJJZia=38cdp=b--ZcT9d9Ub4JwkiI0pv_XBwjah7SzB5an0DssU9oXOFIoZ1XtpfXrOfU0kQptCbcASNUUeG9Jl2Tle2mtHYOk76p4XkwU4W7iwNiZvEJAI0UN=gtAicpEvcHx2ljrQDbwBFvAlZb8w8ANhnm9V6GMddYmAoQ8_YvUrfMQy6P83Cgo2W1EP3ubsA2wP=Z1mugp4qvalcSjcFA62bgAwQZCXRwS2T20VjbtRP=N03qYvZbX9f7mN0MeLHjToGQr-W0JW9bjwwz3kwgXnuES21TykMWeMmW_cv_LjJPzORieOLk5b4G247ZwUnP1avzr1nTro-1PaqJtiwXDFY49XLP1sN2I4=qITAhxSqHnL1xDHXua18-yLwjk=vkLy15h8-jGwignsz7Ewl9TpT=Z1wJkVCvoeuY=LJ3o6sutsZhVqAoNRHIn-H=Q8eXIXt202l25J86Np4pgl5Hjyw-ONW1kPEbniAvPRRSzlBe7HHa0Qe3W7lJ0Xp9mlFRA1_vgvE=sn6qQyzPzYoGv1D497FxBAs1C6JMAGVL9FtAaBnNYuLTNv-RnM8sDUJda=7GlDg7t2qFDrewoJLHexe=BLNfbtQUshM0noU8QtLSDrlqlRMnjWDGeP2xoQrhyV2Bbswp1mwFcR=BLPDqgioTIEEieT8_NDovs2dknvu78010FhJX70uoIH4mSmO2ffEbpDkXS1_rRbA_g6JsQw9oUpt8BBED-O5qHbXWi7lizy_JuzUIObAJmyJZYc5rFtU2Qubn8l6XYouCTOBre5UvYTZh-Y1yYopJ5bsNziLiQwAIBM_8xg8OptlWJF5k2yTq7Mwr2XrYavqdf24SJcJrWBHACVYXE4yWPg2ifOoIUpg_2low0hZ2XbbXWqN-3SsskapHv5yY=WOc9eWSeOxxtdlyn1YUsnZOV_0aYR7oOJoJpVGXhU-h_gslQtyGygpqkmGmLDj4E4Gvi5Y1b9ZRXVo_AopWaO7n=nhuN5zTf4XB=L-7_eHrWDZWzmX3Nd5bWwJ-V8iTyxrd3OOwbxsfCY_Q0O_FMxjTbiz6n1ldGB5mgtSNDr9C=otOnTJahW=cT1Zks1nZJEyFMhp2riw_ocXITB73xP-UI6-U3B4Ua-I20QIoETTZHUHyLeYX1Jy7lT2m8crPu_VAxZaj-0vRQsOLnfqLjrQ5fjhgBeU9csaa0l-V2VFEQ5y5htOQXY7o1NBdlBBAlf2UB53LmeMqpG=sAAqAaLO6=w9kuaEnWg9-=I=iulpLOr6LoxyxUzM_YgUln8JtE_CXvurj8y2puFTNs2ODiXWCe7pE1MXQQODexrt-=eh=Dj0mHiITolUxrCwlbgkHuTQiA1qWP=QmANvruUIwWqaUaP71O5rgNi2ITwZptld3u77dT4kmHl2M6CE9q-k8e-bIzxOxWJRfZ9ge=v9NBvwrFhMDlrvgm4wdiGwwmvDZVojgdhBz-35GVT3VDcHma=FT-U2SgBNgFFQEi8u4_R_A3sFsamkyMcSoB9kcT=RQFNOgsL7-CWCYD9epL-BrPcuXBE9a_vI=v7JAalx=LAHdNrQiG6Tjmgr=rfo6MgHRzY15X4RTUXa=9ENC=H5ldLodTxu6xHXlgyGtqmF0De6OnXWI4ANOz2On3h5knafMzS60mo_b5gcF6l38Yiu0e_YN0BwrBbMEDfgxPJWzlm0A560FvXVGo6Dw58Rgz48VBZqppBd_wOP0yIGjiewsbzQh42AZz=7bDkny7oiXed7hyHdUnPTjx=MjVs2M7j-U9DtXMOfbekD1ehigCO3QCUuW7t9EuimVJuan5V-ZGZMcYyRx4_sirNP0L_=p2zWb5PXLUP=1UBVairb9GLhM2dhwh-pIWRLhIBYd6rHuMT9g2B4zGeq247Iab4VUGfhw7uPkQZ1tg5AFuaukDJ5gCOVLZ5oUv51E1NaEM8P7M8IjdjMM0GGruyuknaD-0ndN6sYTBDOFusYWtZh1I6j=iAIlbOwjnhNk5961Qf0fyVkg-iumcAH4VSX7ikSCmq2El50pLamgZOlw_-hoxG7y8we86bHvg7xN2X2Zp9BT3QUpw2GtpbdZdJhxaJHuUxZY_9CmVIy92b5=W3Iwi4w4VuCCLvpiZ7DXxb7PZkQtlFOUcH88ScOp42bSzTZSEh0phe9rP_44GzovHqC=2qVlkTyQzoMcv32HkiiQGioTa4F-6QhmiPTpRujuI3sg10n27iBXWyN2dVN7UDFcZ6ZfCpt00gGhlQ4wNkJb1j14RUfYCZSeWLU3PA4lAguS6SBZEXbpd=FDzOVW00q2lqV6YrWzDpik8hCTnJ-6iXxlSeFk-hBCd'
}
)
print(len(headers['ee30zvqlwf-a']))
response = requests.post(url, headers=headers, data=data)
for i in range(10):
response = requests.post(url, headers=headers, data=data, proxies={
'http': 'http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600',
'https': 'http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600',
}, cookies=cookies, verify=False)
print(response.text)
print(response)
\ No newline at end of file
print(response.text)
print(response)
\ No newline at end of file
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