Commit 4e366aaf authored by wang's avatar wang

Merge remote-tracking branch 'origin/tk' into wn11

# Conflicts:
#	test_cookie.py
#	wn/src/src2.js
#	wn/src_run1.js
parents f7b96a30 b7b90cfe
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
"domexception": "^2.0.1", "domexception": "^2.0.1",
"escodegen": "^2.0.0", "escodegen": "^2.0.0",
"express": "^4.18.2", "express": "^4.18.2",
"ffi-napi": "^4.0.3",
"fingerprint-generator": "^2.1.37", "fingerprint-generator": "^2.1.37",
"form-data": "^4.0.0", "form-data": "^4.0.0",
"ghost-cursor": "^1.1.18", "ghost-cursor": "^1.1.18",
...@@ -863,6 +864,44 @@ ...@@ -863,6 +864,44 @@
"node": ">= 0.10.0" "node": ">= 0.10.0"
} }
}, },
"node_modules/ffi-napi": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/ffi-napi/-/ffi-napi-4.0.3.tgz",
"integrity": "sha512-PMdLCIvDY9mS32RxZ0XGb95sonPRal8aqRhLbeEtWKZTe2A87qRFG9HjOhvG8EX2UmQw5XNRMIOT+1MYlWmdeg==",
"hasInstallScript": true,
"dependencies": {
"debug": "^4.1.1",
"get-uv-event-loop-napi-h": "^1.0.5",
"node-addon-api": "^3.0.0",
"node-gyp-build": "^4.2.1",
"ref-napi": "^2.0.1 || ^3.0.2",
"ref-struct-di": "^1.1.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/ffi-napi/node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": {
"ms": "2.1.2"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/ffi-napi/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/finalhandler": { "node_modules/finalhandler": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz",
...@@ -1006,6 +1045,19 @@ ...@@ -1006,6 +1045,19 @@
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/get-symbol-from-current-process-h": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/get-symbol-from-current-process-h/-/get-symbol-from-current-process-h-1.0.2.tgz",
"integrity": "sha512-syloC6fsCt62ELLrr1VKBM1ggOpMdetX9hTrdW77UQdcApPHLmf7CI7OKcN1c9kYuNxKcDe4iJ4FY9sX3aw2xw=="
},
"node_modules/get-uv-event-loop-napi-h": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/get-uv-event-loop-napi-h/-/get-uv-event-loop-napi-h-1.0.6.tgz",
"integrity": "sha512-t5c9VNR84nRoF+eLiz6wFrEp1SE2Acg0wS+Ysa2zF0eROes+LzOfuTaVHxGy8AbS8rq7FHEJzjnCZo1BupwdJg==",
"dependencies": {
"get-symbol-from-current-process-h": "^1.0.1"
}
},
"node_modules/ghost-cursor": { "node_modules/ghost-cursor": {
"version": "1.1.18", "version": "1.1.18",
"resolved": "https://registry.npmjs.org/ghost-cursor/-/ghost-cursor-1.1.18.tgz", "resolved": "https://registry.npmjs.org/ghost-cursor/-/ghost-cursor-1.1.18.tgz",
...@@ -1486,6 +1538,11 @@ ...@@ -1486,6 +1538,11 @@
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/node-addon-api": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A=="
},
"node_modules/node-fetch": { "node_modules/node-fetch": {
"version": "2.7.0", "version": "2.7.0",
"resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz", "resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz",
...@@ -1524,6 +1581,16 @@ ...@@ -1524,6 +1581,16 @@
"webidl-conversions": "^3.0.0" "webidl-conversions": "^3.0.0"
} }
}, },
"node_modules/node-gyp-build": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz",
"integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==",
"bin": {
"node-gyp-build": "bin.js",
"node-gyp-build-optional": "optional.js",
"node-gyp-build-test": "build-test.js"
}
},
"node_modules/node-releases": { "node_modules/node-releases": {
"version": "2.0.13", "version": "2.0.13",
"resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.13.tgz", "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.13.tgz",
...@@ -1828,6 +1895,63 @@ ...@@ -1828,6 +1895,63 @@
"node": ">= 6" "node": ">= 6"
} }
}, },
"node_modules/ref-napi": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/ref-napi/-/ref-napi-3.0.3.tgz",
"integrity": "sha512-LiMq/XDGcgodTYOMppikEtJelWsKQERbLQsYm0IOOnzhwE9xYZC7x8txNnFC9wJNOkPferQI4vD4ZkC0mDyrOA==",
"hasInstallScript": true,
"dependencies": {
"debug": "^4.1.1",
"get-symbol-from-current-process-h": "^1.0.2",
"node-addon-api": "^3.0.0",
"node-gyp-build": "^4.2.1"
},
"engines": {
"node": ">= 10.0"
}
},
"node_modules/ref-napi/node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": {
"ms": "2.1.2"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/ref-napi/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/ref-struct-di": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ref-struct-di/-/ref-struct-di-1.1.1.tgz",
"integrity": "sha512-2Xyn/0Qgz89VT+++WP0sTosdm9oeowLP23wRJYhG4BFdMUrLj3jhwHZNEytYNYgtPKLNTP3KJX4HEgBvM1/Y2g==",
"dependencies": {
"debug": "^3.1.0"
}
},
"node_modules/ref-struct-di/node_modules/debug": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dependencies": {
"ms": "^2.1.1"
}
},
"node_modules/ref-struct-di/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"node_modules/requires-port": { "node_modules/requires-port": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -28,12 +28,18 @@ headers = { ...@@ -28,12 +28,18 @@ headers = {
# https://www.southwest.com/assets/app/scripts/swa-common.js # https://www.southwest.com/assets/app/scripts/swa-common.js
headers.update( headers.update(
{"ee30zvqlwf-f":"Awb__VqNAQAAPigAX73iJ-eiefS6hpEIDaXMOPjYzzKeQn9km4B_nPXchbTwASOQBiIXTiGywH8AAEB3AAAAAA==","ee30zvqlwf-b":"igtdkg","ee30zvqlwf-c":"AMDQ_VqNAQAAbT33DZVyCpmrzYeVj1AOcp5muFluHrwILekXpGvJWvbEMfIq","ee30zvqlwf-d":"ABaAhIDBCKGFgQGAAYIQgISigaIAwBGAzvpizi_33wdryVr2xDHyKv____-Q82rrAIjJVtoSljKpx6OE_AS7Qe8","ee30zvqlwf-z":"q","ee30zvqlwf-a":"U0Iwbv8VkStLHa8C7FrGQ2ntuupEKC6b9f2ErKq-m=pK50ON1IUcaYDmIv_wZ8ONkmR1vlSqqCAY62xUGnT-U9mjkxMvLc6pqaRjN7Fl_Uf=gyp1N4a5gntg4sWMiKJeM5keFVoogCVtYuh-9A4DraRxBzWsl6Sd6GKv2Km5YtWf7S2=r8Qg0WR_MZ6YLOUIijOOmzb7lXGm5B4FlFyUGBg7uHA-cwztJZ0YEVz2nzhIjVr1NdLj-4qwezZoJ7v-jStx-jKQJl_WnAByikFKY=YSGrov6GrVkC_OZB50ssrerWas4zWf1zRJCvggaMiKd-YW14iYu6YbEawbhDR6DvlRxEDpmv2lArGd8tR5Y318OrS=VpmlB0CoItCbzhfFYvYxcj0KmEUMW2JE79WKccwcuObQHFrYSZ_pqFzAQkxtcKrz3g8U1OC5bYvsMQCR5CUFJkOR4qWLavLCsFTZrYnGwRmzrz3SSTvv5_Na=Rk5bzRIppvMdNoAWmjBkvWeRuNjpIN1Eb5nt5Lt5MOR-3z1c31-o3lk3Sc=nS3jbVgdL6VutcMT1SSve1C40bNV1tlXUl7IJGXSlufM4jGBJ6hrkqerlKO6=6-r0s1HGGD-BU2ye-rCLMO2SnUMMMRKQ3SMxtD6kgyn0_9JJ50fiA4sr_r4GW0UJbUpt=cCFcCfQVpnZObx5nMRO9oC=MGbAT6EQnlf76OhqtkusTLaosS06loXN0mFyb7Yn8Fmp2IKygA8X2d2nyRAyVLYf0XfaNwrDyyJXiETuNc_2ea_8D71cD6RBsWM7alzXWyQqHYaEMavd17YUxjw5yLpHy6shNkI0hvCQn78vgRL2q6FmFFNu0BFyHxZio=SMtQyA8uVuybNkWWGB7VRCg40tiNK89WAqCKObu4DZ3KjR1mu5LbupUl=xMAfK7Ty1FMdBDXmCbAsykdV4BkooioSbjICxScDA6W2ZvvM=DJ9nRA0Cjfiz-XDJLjzrhZqQs7KA8taSo2EzQgay5tQCgGdIQOFM5H7_CeTMqnHlTk2kivv2=HWwW6U2aKhvkjEQrf9zraHmt73Shx6JBX3fT6=N_OK2V7np=u=BH_15En7RTMWngmig8gbl2MxNOgt2QJbJjiR4933GwB_rbDXacsG71Sv2Y=oeAbe8DATS2KSE_m8dom0SK_lj5dfiKbvYzkTnacG-gVgDFE6SJvh947Hj7NhYS_05sv2NgMLnYyfwdafZbeaqt2353Y=yKh3MUMgiTd=GMhc-bfzAWY3fpjKllXIDeQyaeGf-hC78ZZNXVslYhEAIdnyVyWDufXR0ysKp4VNn5RgLC3HYtGlEqXrRNZp8vheU2=tN3y-A4IDBNIwlIM45BivK=_c3bK83am=Hr6QJ_iSb6Kniuqsf4rR6g_ZTuwBy0zvxwVFA98an9n0400idAAo86Ki_-cSA7yvTH9Wa-BgOyR-_Oa9IcR011AXtmJ464wN-Fa1sY0qRBbOYYGzuwtBAusweJ-rqyB2Xn6J7SSJaug84cQyGtE6pvjYNYfv7XIuW0Fryp_-NTasrOycoMJ=RebCBrnlZcLBWWwl9ebF-t-WtiYs_m0iVDZJ=o5UvwBkA5p4FZXjxn_dQR6lS72kQkkZygEDuRrYXmlxE5XY7OoEnnQDHWWLTpdO_5tFoq5eNR8_wgFWR9ltF0WK_Oeieg1p8n4Sha4uZZ34lsSLDbC4kU_-0KKX2l19uhV_inmLklrieprT2sd=xvSiX621T8TIgllmhOy5BjA7mND=3UfQ6DIrwdztqKX28FtwRjJRgazchQr7HrH=zeyBcw1xzyBhZDVIWcx8zDFuI2ydbnS=ApRl75kUJ8jN3asQFrlxSczVdKl7UKB4Sy8Hqd3Ijj6NIZT0Q4Zh1jt-tSpf3A04RDKtaNmKpcC96NrW4e31vfvWXY=ERYhCDZu2TSEZaOf9e2NbF3RlJVi38A9xvz3azvVRZp53Dz1h4kDdop6AITE3zTYKYan7i7DDAJiAqaBDFwF-v-_61N2vNzT1cykrTAy_6qw5w2sIHKtXGYRMMwDR4waUtQpkTMsuuEDEsd-Qg9O1K5G4DpsyaB8UK4g9yFj829XRIq4zttouLqn_1cKZzrR7NF8L27XOXCF7y36HOYw1qbn8nWgz-pvxTsJcwx-cAeKukrCKvO7OWXxmZDkYKcxke3SBgwx7VHhRIZw725TZAsWj4pbQZmYRH63tKBFAI=Cyj7U-DcoRx6JxdlBSvW3Tkzy72BbTVVmNdoM7KKLjGOUo2iR8Os3ZCQ0jHgbM-1Lrt4Gy_UWqsecjfmEtMCs4_vTQXG8fy_wgOtS-Lhd_3Ox6bik6n1q0QMNauccZiE=pQogBwSaXtLHi6B-0csFK=9Bwr21ct26n9MxQy=NjgMe71=nuG5Vx3OU3n9KEp75ddtN8GoWR_yZ-2c1JMHAsmHgaOUUquz3g=YOo8DDQm7jh7fT8Ai4f4Tp5KVNhAtsf=ssDTpgr5GvHA4FaNQkSO8BRx-yi8LxuTSkJMysQC6oH5DGudDiab0hVU53t-6Wd3c_ESSoBINfKxpvORVVjgvXpDxxteuwchqr5XEMidct6ZWBMnqZYt-e=6Ge2byN4y4jk4ta8lXtMcU48I6v=b5Qu1JTQBimfd7xEGwu25g2vboEg6ef-SGR2ZVvpqyOB7fcjSZdZUEKE1l0YUXvJ5K4ycENQdB3UjR=EWU2J8HuSp4_suUczqLYXH0GQxeKQhjRzoXgzMlsFD7wZN1tGkrHDdHQcRVGQyb5A45vC1AzHqk37LIhbrgK7y5HM1fViewe2ZA8Djz9Yq2QhHNmjD-kyqb_gGg6Cvui70OLWZpBigZ6wHbi14NAUzgXJjJRC=R54f0nKOxaGS-8_6iQ_q538CfmuLNt7UiR6HmRwmWhiIS7=k55otjwR0LC3nVHx0nXKbE0RXMpmzTCf5M1X3ES7nxhshi1f8O1umJU8Y9GtIIXknpmn5xh5Rplm2-IWQJ7WUxK6tTkFV2CaBAA2T7t48o41XwZo3RXjFsclH23T6mUSW5dfjr==6GMam3=pD0m3W3LUAOTltOoC0Vy235fQQSCFsJqeYYcozwm_m2_9TA9m3OuazWsdTUMpyaxIYT0MUi6ZVGi1ADeqtZ4-_a8=WMc6mXl58gLBBNq_Yst0dMMSmAt23GaTsfdYJeJ-mXwp1plnISXKzz6l4uwUG95K1IRTkTjAIezSVnlNDmcSnTKCS-6ZoSfg7To=NRXf-IlNBw9W7q8tN=6FAw3pkRqyOJDhaNiKSMs-9K3ShvHN9Zb2QNtSi5OiARqjpRJ9KJvLomxKJTVd72TAYk6HBvpws3AIYlkLURIprU5=9b3f4GbVAogko_GFigo_ft5KMrRqdwuRjsAg0dfyH7yEI=DMJhELpuDwSlAy6pmu4ysCTRvYEk3AgRrtZTwIZhsHNSazLm3JuNtBpYK=rokrZ5xnXDqoKj6pBvB4tVvgAkawAx0dSafX4x6Sx9ec-CS15Wqgnf0F4FEdNIN5Y-6megvThwBVg1L4ey1SFTgOe8YcsQxQ5Ifsx1MppHAY9pcNkTSBD-0aSmGYs2le5FMp5m2kM5rBWAdwG4Z6JUn9-t1=Rz3T6bApE-umvX9FHZKJtJF59ZjOg3wDFpHXjaqULYXhk8uKCy5hDsR=jKqxxMDW7pG384jf=cW8Cbl9ywjINW9gOkmGBHCdkit_flVYu4Fc4FJQmJoOJhR6TMQCGa75r74BsUasGBAy-mloAykbnKgU01_lU-JE2m0HdYdke4-lYK35m-Yatge6p=3zLo8gHvxBuiXkiUWEJN7Drh4IHUDvtt5-OZ-NENv=0XdYnSfqHDp4M6l-WKCZ6wO_6MLbTTIpa2FCcxU3xSEa8ZNcM-GgGJI6Rg6fn0RhvKRoxb6RONXN-mYg37UkqVH9_VlsC7BCZSL6S1j2gLEyOl5x4z6JDv1jV3tS589wS=J0JREWW9dCD3p8_06ooyaHHB6NJZ8tt3chC70c-jB03StX8dH1tnS2CZBDBRxl0w4oeU6bSeVg_thwpo0Q0DjyAj=--aX5BK-eJLrucSHxCf_TH3J6OMym6-MI4yvld0=YQXCeR-zxgo=px=A3eJ5vR5iQtqNwTE1hqxAdqHdhZw_Tgb9NLI8Lln1A03ostNUDy7GBc=JtZnJgAM_yC3e3EOL=o4risYLYx2xKAowRXYCRL8tEjJkt2=8z1C8y-zfLE2M9oiMUOq0XAW7cnqipO3QUDLMF_50_fpz_NJY8Ejd0tfxtZVOsldGV6xVxxazecs55MuJcZolV9Mv=Hx6R5UefaZz9CGgXYT2VH3JwWNxc_bT0kOI8pK=2f6JLlCv9KfTOk7nqfBd6ix-rRzjrESQl88W4UCuxeb-7nuJGF8SMH7mQvdR_d1sp=In1xuNB6zjiKnBRrZzwBg3L-mH5TEAzVj5lvf-D8U7KSf3D-Q0eQDunrhD3zqdz=gSZKK3IeAZxkWVqIj-psU80IUD_lFT=9_gBowZqRp9BRSI=_fvZLR5wzdpqxBcvy1masA_zVf3rDD4aGi3YeffTZWlK0mp5QNNZY560Nk-4k-Oa_-Twnmtr1TyObyE4e6YN_DftLW=dchZEd-DYF9oArTojN6IyB54aADp=xNx=Y6lW5tBOf9mHgfpqpWmNeasrp=KNsCQvKZNyhNHyCkAdL6A5wpAj4jNl3BltSB0S0VMj2FHTgfxeT7J3QgmOQ8-8hT3LKSfEbdpNZhKRVoJQJIqbEUHBHD0EkZ-zfq2cm4x1ud=yvQwkZ_hAb90vzdN1SAn7ATa_68d2vhKpJVIwsDe72u_nuMSFFRpiX3SAd_CZCFDKWf6Bf07Lnn3_JOMmZg385jgNXfKSAE1J8HFRZTFekraAUrqZqoRQJatjauEURjhZVQbEXyXMkS7G7qzd0Y29MJSnCVNu=rQWzZkX4o8M_13xeKgX7UYKSCxDm8cdoWBMhTwM1qfbpIrzm8F9KbeTk4hrIjEggdY=j8rMHwipiSJT_fdKHe5sD9SIxTqCm1ot3pxGzqn7qF6d_RJWOcFoRddO6VBf5YEw9Sy7dpi8kqOC4AXrBtwdy1d_ZgqfJHl2dXWE7Tcudr95Y1Y-GzHyvjVzhMd3s8BscC96=ViJIRgDx4RCH79EEsETJSeSXLrwp_A=ZgI241N1p-hJx-g4OW24Uq-LJE7=n_pecny=9_1jJmC0W1Y6tR0KmQn7Bu2-xV-Jwqhmxog7e=ZdKFSRJDk0Ygpz9lR3Zrf6pshGTGDszNScHDS-Kp642sGgS9JVmJ7eFZ09MUdg=RQ5wWKjgL18BshFO0xyn=myHuK1qp4Bl3CIzTcFc6mOImV_tV01xDmRdd31kLk=VccYbzGLoVrhLZT0TnzxHmDpzi0eBKzCi-7WqKaaGNpZoNhM8TC9LVD-pAi4kZi_7ja6t5DfisYgHIu8X1zf-QEnzfXqFwl0rFJo0lfsC7BuELxGdFYlUlvWUqHKYXB1nBfBpr38r__EGSma8Jk7rbRaCWqA=JBfBet","user-agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Mobile Safari/537.36 Edg/117.0.2045.47","xhr_url":"https://ponos.zeronaught.com/1?a=5cb20fb2094ea5a63f821517fe9e6cb5fa915a1f&b=Awb__VqNAQAAPigAX73iJ-eiefS6hpEIDaXMOPjYzzKeQn9km4B_nPXchbTwASOQBiIXTiGywH8AAEB3AAAAAA==&c=990877490","xhr_res":" J7+OmJ1eOZ7fwtVETT//6HPtfTq3CfIZxyIoRG7E9y6BqXC7fobkkGc6YptWYP8FecuF9vr2OVeN+VmeaA0WscRW/gVZ18BW+etbp13o+r6+3xDPdL02kPmVegVD/72pxxGRe3/3opiEg0Vu12TKWotWeYB2rVyUqtDzxkq0TUmcVt5mWCnYq/PHoARepNBG1kG8kTNByqR8Sp/yJ7WNSUntq3UclfHrsJ3PEjzsX9T5X0sJZfSsAPtvL08pDUvuzdR7ir/d35RODc64gtH40xyWaFPeDNpNRtwNKbqhfkU/nL/0ugvgMrPoElJ+8dPhETFtZtMKrxLb1k665TXKtgKV9/hc2LT3bXh6EVPDJMsMC1SdMMd/whC4QcRhdXyhDm/B5jJJpeCX1KNcvx8a8k5TPpd08ocC+fGLC2ZqbWURbm2iUb9L2HBPrbdP2B+RE0CDNgdIVUmOh6pneknvzFPBPBmvq+1LeWz6M87jgX7+qQUeTv7vPcyMvrLnQzYthsdDJL16osmGnnvKjvftSVblHj8b9bzEUqxImgZ2yEHdmTSRWjdoxs3IOnpw3ZH0nMNP+fT75aLcc/qMFrfl/kAkOwQ1UzManhwq3SvN7qmj53AGc/eiRnz2NzHaSI1e3MDAaR3GHzJf4wNsqJL9vv6cnKlUuUTO38dQWSbCEJScoL6/fCTOXH6pbfSakHNN+uYimRiJIKde/+ctkfRRjej0rqcpq4zR6XNB2ms6+YTtkS3GtKTXI8y+6UGYAFrCqVepZ/+niFpJGmBtaxAMnc31ZMw8D7L+4xraZ00NuUP4VVjJbrWeYS2tyediNYHK6EA5UgTJ4f/REBwdHvt8T4kf/8+vSoakk8rKe6QbQ3sFv42jNSVEddRCa8PiJpEyvfgrgcdcR5ONzjw8RCoIiw=="} {"ee30zvqlwf-f": "A3iE4F6NAQAAXS_EjvTg_qDJFq20QtYDHZ7WPh18e0-iJ-JoJh9llOu6cucMAdF_Ya4XTnyzwH8AAEB3AAAAAA==",
"ee30zvqlwf-b": "-t8ryjl", "ee30zvqlwf-c": "AKAp316NAQAApd4bPxlBQBenDbcWMsAW2vFR18T8bdpeGvQfhb6YNs0FcfLK",
"ee30zvqlwf-d": "ABaAhIDBCKGFgQGAAYIQgISigaIAwBGAzvpizi_33we-mDbNBXHyyv____-Q82rrAGMKz9p68OWKqbIBcHxI2Qg",
"ee30zvqlwf-z": "q",
"ee30zvqlwf-a": "YTYYQfmtri9_1tI4AAiVIfLvVHpwrBRGdNRhVXqhYx=RB_V4BK6IvN-_-l6bXKbiao=zXS_FDs6uWqtoxbAxz1qLWKj7laRdLPfAGFIUWPNOo8MmZ3-oiSqjmJTNnbfxpMu_J6vonAW7-Sa6j8AabN12oDdWwXSaHmda4x1d0knSU9sUY_4JQ200uqhukZj_gAHetWyn9FBzDgWOWb4CpIA1svAnK8Qs1dtiL_R4SRWLuLuCsTfB4JXR-8dP5Qr=G3CnAdF3JkJQFQMMw2gyp3AONL_xiI5b85ShOaCn8ckBD-McpZC-FzKt1AwzhOx6uP29SjQ_JVA7AaMIqUiMel7ypiawTMMte-ZWwCOd6gVG-vo=knZv7eAOjl28_uj=WVP2oFGTmmLxdpHgUeOU8lByaQkqfiFe15-0qKPq88Uh0FYP4jptnkSLkXWx-1bATPJyC1psJ6_3xIZHXUfdMwwcwUp0t-p=LU5hcLrp=7trTPDh8DP_s1ZqIQ0lbyftJy3UCcp2eZo7n2sj331T6SkQlPsQ09OihHk=e-WA=zj6IxHwX2SLFINkLdXIFOwT5aaiYbxj2fv5YiX5Cr2VsvDhnA7Vx1WUI7t-PqoTiWNmge2uFpv=2OTw=NXwpVxUG0Gh2BmHq3tsv7Z6Oe6=9qKSl86Ht0p_kTW2JzFnGsSO8U9jebirHmeTnIg83Ar5YTzyOAQr0qWaGF4i_-NSlyMh9-Hu45OBw8bO4xfRvx70HmMNIHuFC4Zhrzw99qainQxif5RakyPALv6iQjFgJWM4wahRhMMZ_R-cxDWetTHT0WkX_1FFlF7aym9K4T3kPu2g05v2_plhWHYXg_isB0OB43NylRO6clu_-KU8X5tBPedsVyhMlG-9VAKDusHOSaTd9-CjFaByMCXxqzyPO6QHuCPbGFY7D8lRgdHsAfumXxOnalv=OmQVsOVZ3kBMSant=wvtRmmhgWCWsJU43GkPZLzuO-JrJVMRKL08DKkelztZZvHCsXbwetWjI-rl=TcAOC0F7pgQdma0un45hPg7R2_SPNIw44t8MYhQ3xPT5dX=pQ0GrWk-_7=gqZ3L3wWhRXncHHqp=yc=R0-JA87BghUfRgFKWWaTPhNaKYIdphHC_XTsNT_06mGns4YO7_xHUMUevTbWvGtWtaKeiLKSUOXCGqXCWSClB2GGOixgBJVn6Q5W9KOfD5hIR5I3LhYAwBGwSH7Z6WWKa8aP_ZQsRwtIOOTcmRWx=Ov5Xf_cxv_ylS0uuIUzBbn6_yFJl2Q6W20RCHRUIhfVJGWbWLzOKouU5TwKnR_rS=qDyDWH4OyjUisz1-LRnra_YM3kxPdKShxXYVCnQwtJgvhUlpFuUYJmr4NfLROtbHd1y8jxLHXGTk1u6s-8JB=uxATu5VGu4jMJPNYBpm30V3IO9z0QDFFI5Uq2sOhrWnRfNHPFVoQuLYg-31FOTgWq1b9RuSHt7=ph4MLzyXkUOustY04U8kH4mipYRBtiCeKqrv-5oSh9OmuQfmyiktbeiVGIpbIjhQZ7nUnppVRxMv8Pmvf-0AMQNaOnoLgj5YNyFGDBesWaaQkfjYwW=RM6ZD7WlUMdJ0NsrDHmrAbT8V5DUrfK3ZnPe78gbNVdnyj2M5Dsob8UmCSgzxBjOe=8TZmTFuPHq6qfoFB-WNWtV09aOCshzoP08QwrIkbul3PF=mC19ausei08u0L4s1x2xwzA3Y12mkg4yNiBzoPqHpxiZPRB_1fc6cqvFpaqLcMU7m8KQPjrIKFmJYOeOOkyxRokNPPXgyOlt=M1H-xa7Cvfjn8ublgzaKul8c9asVUTeCeRKFAPKsz4gOIlvRhX7lKzu98bZ6QNLRV4TzJuUoXPaST5tos0Ga8Oe_nO0rQkGnk2NWBQyOoD89Hrl54e4nnTWzNk4jmOpl0mnAwOq3Sm_T1usN3Foag3Mjk2QL2kldjlRFdoMz=06KaSsswi5J-1NlkgbqRsJIb8fLQ6yw_KUjYduec3yJmSUhzMjN=zFxK3IJGcX8k7XMg=Oo2CrmsUVrro7AszQaXwOwXuWH3f0onqkAkz4tvfk3pVCWvmAMe9hOeutb68p_mvFQeFGPyPVJCGYMQKATgWhaDDapF92rSi7GbyNCvCjPF_AWqU3Wn84xUHRQLtl4Q0ddjuI4AXUfCcOR4kp1oymoNjB0oLb7in_dbRMM5LxJ0bhJw1kZ7ZLwleDK8MND=r4g6_BM3AXX2MuvBjrk6XCVU-8dub7VYOF4ivdFvZwsjzKA-HWkO4dBtRApXoeJQC=1_mjM4Wb8a-S0qaCJSe0AKtGFiFAC6jlMrK=jGOcm7LDoCn8Nhb_7R4MNQRbpzQBtkqw8MW8jnLaDRA1hXHZpDaXDFgppwwNIRfL0O6f5jjshGDJ3_eBiL9AGNPKBLh6VeLAZUH_SnkVk5Q8N8HFNRXpniSkfAZkTaPxM0qv2tuYczxGk80nK2kr=MCg1v0SURGkDOfIbAOGR00KN5C-iT25Rp5_hg9tFKBxmkcwOlTNwscmKd=ezGckeA2uAkLmddnFBmV5na2Ue71fGPImb7reabwfU1OvB1=IoY-FVDLMXQCB9UObmbSM9X=yudwBzbkB_nK9nCCNQOzBdvR4gaIjSJ1AS93DTvSYOUi9JcdIbxQwHwsTQTBJNrKs=mkHQiBNtn=a890AgHRQ8-4k5UPiCmhoVXLz6=bbQ1_pvzirIP9Cv9d0LQqQ=0a=z4cdXqrzs4=_t5nsj2ByyDPdb1qv6g8lcnIYnO6slrU5BV8Ct1Hi10Sb4c32fQ-TJMDOVte_d1KjUeF1ADicGBu14lOpeaH-2rqUG6mT0Tx9sgKamo7Widr_-Y1sA4iSuP7YtRgn9A0CZ3fyVdeVdUN-Q0CbL34CPlMrrRAi9ei4a8ic5CGyNPLTAw-g1m=vdcGnDFWVNpbJ2SUCS4Y_tHxJqTxSL_TjCVMtSan=Gqnl5SJhGmB68SWFiYlPKIODUCpOxzJ8s2xBBGY4q=odsCWs7n48ZdGTRkloy7MUrjn9Q6VACSDtxGZgN9=MFt0Df",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.67",
"xhr_url": "https://ponos.zeronaught.com/1?a=5cb20fb2094ea5a63f821517fe9e6cb5fa915a1f&b=A3iE4F6NAQAAXS_EjvTg_qDJFq20QtYDHZ7WPh18e0-iJ-JoJh9llOu6cucMAdF_Ya4XTnyzwH8AAEB3AAAAAA==&c=-727072211",
"xhr_res": " oSoZtqBlJDVXL3aJyDX8R7Dy5MutzYCRDGfERXtcePlUVnrXsK6ouoIROvnAdWEhvwLpixLkb6TpnR18RzDGzGuQt3O+ukxFRVq8fOAZjEgUXlYEsDTRwZwfXDX5lm7ZYIsyfh5G8sIt59EIFjxrf2zjVS6zU+U9bnD1N3LbHVVgOeofNI0lzN8X8nPOvnRlqw1/kpXYxZXcuNAa0zXZkRvFS7asERMvOk/UnlEajVgJDgGDwzN7RYK5djxCc9DBR2FQN2f/5uWlAeUgtH1uFLvjh89PvyxwyMGgPCZO1g0+qvv3PSZzu/OMnzJlbZOAEadxXifcG84XrKOEDMvsZCIkZahveHqyA5XpJZdcEyzbsNRWvZ9ck62y4JDW2w2blQsJzdF4Ii5VeRmx+PbG4LDN//4k7W1NsYYesUk74e3jGfFaq5xgnM1N/3cWn0c+GWY+44OZEgrM5GHevWLQeGuC4jBuU3Xn/3cIGjU8TKJ4wib4mXFpAUbkkN8k54vPpQ10pzyRctzsQwSuRR0mRl0kt0QgoXRoVXie5lJxoUJGz8cilrFrWAVhzyjVcYQkPZLHJNtGxo7zxyTX8cnKiTlGYsQyCs/qh0FjdiKG2c+YD3bqOX9YETCSPyNjmB/VEtYWnYiPJZ/bewhRy/yp8C/AfvQdSjPX26Btmc1k9ZBdure2J6kRfvPP5meuPhRxycagatwMoM+7P1ehIvZsmTqbRyxsvoqrZZMtv6qsLKu2GwE125xahsnNgm7lYkNTLD5NTJH0MqokQa/TO6ANOKIia6FThXgjs6PPGnKiPhH2lw5y3xOw7uNWIcb0xJyPsiQKKxBgDuFxt+KHmNwKzIaMYnpjY5ZO2Eb1R222vJLJXRdH3doGCfIQyhmAhiyKfMX86NcvOEjsNv8ndSNhLQ=="}
) )
headers.pop('xhr_url') # headers.pop('xhr_url')
headers.pop('xhr_res') # headers.pop('xhr_res')
print(len(headers['ee30zvqlwf-a'])) print(len(headers['ee30zvqlwf-a']))
url = "https://www.southwest.com/api/air-booking/v1/air-booking/page/air/booking/shopping" url = "https://www.southwest.com/api/air-booking/v1/air-booking/page/air/booking/shopping"
data = { data = {
......
...@@ -10,11 +10,14 @@ RUN apt install -y make g++ ...@@ -10,11 +10,14 @@ RUN apt install -y make g++
COPY src/package.json /home/opt/lcc-wn/package.json COPY src/package.json /home/opt/lcc-wn/package.json
COPY src/package-lock.json /home/opt/lcc-wn/package-lock.json COPY src/package-lock.json /home/opt/lcc-wn/package-lock.json
RUN cd /home/opt/lcc-wn/ && npm i RUN cd /home/opt/lcc-wn/ && npm i
RUN npm i ffi-napi
COPY src/src.js /home/opt/lcc-wn/src.js COPY src/src.js /home/opt/lcc-wn/src.js
COPY src/src2.js /home/opt/lcc-wn/src2.js COPY src/src2.js /home/opt/lcc-wn/src2.js
COPY src/jsdom /home/opt/lcc-wn/jsdom COPY src/jsdom /home/opt/lcc-wn/jsdom
COPY src/js_dom_run.js /home/opt/lcc-wn/js_dom_run.js COPY src/js_dom_run.js /home/opt/lcc-wn/js_dom_run.js
RUN npm i sync-request COPY src/httpUtil.js /home/opt/lcc-wn/httpUtil.js
COPY src/tls-client-linux-ubuntu-amd64-v1.7.2.so /home/opt/lcc-wn/tls-client-linux-ubuntu-amd64-v1.7.2.so
COPY src/main.py /home/opt/lcc-wn/main.py COPY src/main.py /home/opt/lcc-wn/main.py
......
const ffi = require('ffi-napi');
// 判断设备是否为linux
const os = require('os');
if (os.platform() === 'linux') {
path = './tls-client-linux-ubuntu-amd64-v1.7.2.so';
} else {
path = './tls-client-arm64.dylib'
}
// load the tls-client shared package for your OS you are currently running your nodejs script (i'm running on mac)
const tlsClientLibrary = ffi.Library(path, {
'request': ['string', ['string']],
'getCookiesFromSession': ['string', ['string']],
'addCookiesToSession': ['string', ['string']],
'freeMemory': ["void", ['string']],
'destroyAll': ['string', []],
'destroySession': ['string', ['string']]
});
function requestSync(method, url, headers, proxy, data) {
const requestPayload = {
"tlsClientIdentifier": "chrome_117",
"followRedirects": true,
"insecureSkipVerify": false,
"withoutCookieJar": false,
"withDefaultCookieJar": false,
"isByteRequest": false,
"catchPanics": false,
"withDebug": false,
"forceHttp1": false,
"withRandomTLSExtensionOrder": false,
"timeoutSeconds": 5,
"timeoutMilliseconds": 0,
"sessionId": "my-session-id",
"proxyUrl": "",
"isRotatingProxy": false,
"certificatePinningHosts": {},
"headers": headers,
"headerOrder": [
"accept",
"user-agent",
"accept-encoding",
"accept-language"
],
"requestUrl": url,
"requestMethod": method,
"requestBody": data,
"requestCookies": []
}
// call the library with the requestPayload as string
const response = tlsClientLibrary.request(JSON.stringify(requestPayload));
// convert response string to json
const responseObject = JSON.parse(response)
console.log(responseObject)
tlsClientLibrary.freeMemory(responseObject.id)
const payload = {
sessionId: 'my-session-id',
url: "https://microsoft.com",
}
const cookiesResponse = tlsClientLibrary.getCookiesFromSession(JSON.stringify(payload))
const cookiesInSession = JSON.parse(cookiesResponse)
const destroySessionPayload = {
sessionId: 'my-session-id',
}
const destroySessionResponse = tlsClientLibrary.destroySession(JSON.stringify(destroySessionPayload))
const destroySessionResponseParsed = JSON.parse(destroySessionResponse)
// console.log(destroySessionResponseParsed)
return responseObject
}
module.exports = requestSync
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
const ffi = require('ffi-napi');
// 判断设备是否为linux
const os = require('os');
if (os.platform() === 'linux') {
path = './tls-client-linux-ubuntu-amd64-v1.7.2.so';
} else {
path = './tls-client-arm64.dylib'
}
// load the tls-client shared package for your OS you are currently running your nodejs script (i'm running on mac)
const tlsClientLibrary = ffi.Library(path, {
'request': ['string', ['string']],
'getCookiesFromSession': ['string', ['string']],
'addCookiesToSession': ['string', ['string']],
'freeMemory': ["void", ['string']],
'destroyAll': ['string', []],
'destroySession': ['string', ['string']]
});
function requestSync(method, url, headers, proxy, data) {
const requestPayload = {
"tlsClientIdentifier": "chrome_117",
"followRedirects": true,
"insecureSkipVerify": false,
"withoutCookieJar": false,
"withDefaultCookieJar": false,
"isByteRequest": false,
"catchPanics": false,
"withDebug": false,
"forceHttp1": false,
"withRandomTLSExtensionOrder": false,
"timeoutSeconds": 5,
"timeoutMilliseconds": 0,
"sessionId": "my-session-id",
"proxyUrl": "",
"isRotatingProxy": false,
"certificatePinningHosts": {},
"headers": headers,
"headerOrder": [
"accept",
"user-agent",
"accept-encoding",
"accept-language"
],
"requestUrl": url,
"requestMethod": method,
"requestBody": data,
"requestCookies": []
}
// call the library with the requestPayload as string
const response = tlsClientLibrary.request(JSON.stringify(requestPayload));
// convert response string to json
const responseObject = JSON.parse(response)
console.log(responseObject)
tlsClientLibrary.freeMemory(responseObject.id)
const payload = {
sessionId: 'my-session-id',
url: "https://microsoft.com",
}
const cookiesResponse = tlsClientLibrary.getCookiesFromSession(JSON.stringify(payload))
const cookiesInSession = JSON.parse(cookiesResponse)
const destroySessionPayload = {
sessionId: 'my-session-id',
}
const destroySessionResponse = tlsClientLibrary.destroySession(JSON.stringify(destroySessionPayload))
const destroySessionResponseParsed = JSON.parse(destroySessionResponse)
// console.log(destroySessionResponseParsed)
return responseObject
}
module.exports = requestSync
\ No newline at end of file
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.
...@@ -6,14 +6,13 @@ import subprocess ...@@ -6,14 +6,13 @@ import subprocess
import time import time
import os import os
import loguru import loguru
# import requests import requests
import json import json
# import tls_client # import tls_client
from bson import ObjectId from bson import ObjectId
import hashlib import hashlib
from pymongo import MongoClient from pymongo import MongoClient
from loguru import logger from loguru import logger
from curl_cffi import requests
def get_random_location(): def get_random_location():
return '' return ''
...@@ -221,32 +220,31 @@ while True: ...@@ -221,32 +220,31 @@ while True:
# proxy = f'http://ynfflcc2023.hotmail.com:gdcfh9@69.30.227.194:{random.randint(20001, 20250)}' # proxy = f'http://ynfflcc2023.hotmail.com:gdcfh9@69.30.227.194:{random.randint(20001, 20250)}'
proxy2 = f'http://user-uni003-region-us-sessid-{random.randint(1000,5000)}-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600' proxy2 = f'http://user-uni003-region-us-sessid-{random.randint(1000,5000)}-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
proxy = f'http://user-uni003-region-us-sessid-{random.randint(1000,5000)}-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600' # proxy = f'http://user-uni003-region-us-sessid-{random.randint(1000,5000)}-sesstime-5-keep-true:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
print(proxy)
# proxy = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@198.147.25.26:{int(random.randint(10000, 11149))}' # proxy = f'http://unfflcc:76cc14-47b8dd-1f8ace-827836-0c740e@198.147.25.26:{int(random.randint(10000, 11149))}'
# proxy = 'http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600' # proxy = 'http://user-unifflcc-region-us:q39CEBTs5A5YQXor@pr.roxlabs.cn:4600'
tlsV = f'chrome_{random.randint(105, 113)}' tlsV = f'chrome_{random.randint(105, 113)}'
# proxy = random.choice([proxy1, proxy2]) # proxy = random.choice([proxy1, proxy2])
# proxy = get_proxy()['url'] proxy = get_proxy()['url']
logger.info(f"success:{success} proxy: {proxy} ") logger.info(f"success:{success} proxy: {proxy} ")
tlsV = 'chrome_112' tlsV = 'chrome_112'
session = requests.Session(impersonate='chrome110') # session = requests.Session(impersonate='chrome110')
# session = tls_client.Session(tlsV) # # session = tls_client.Session(tlsV)
# session.timeout_seconds = 15 # # session.timeout_seconds = 15
# session = requests.session() # # session = requests.session()
session.proxies = { # session.proxies = {
'http': proxy, # 'http': proxy,
'https': proxy, # 'https': proxy,
} # }
# session.verify = False # # session.verify = False
if platform.uname().system == 'Darwin': # if platform.uname().system == 'Darwin':
session.proxies = { # session.proxies = {
'http': 'http://127.0.0.1:7890', # 'http': 'http://127.0.0.1:7890',
'https': 'http://127.0.0.1:7890', # 'https': 'http://127.0.0.1:7890',
} # }
selectId = random.choice(list(envs)) selectId = random.choice(list(envs))
# selectId = 'a74048568ce5f6140df6d956' # selectId = '197d94c3099d110aef4e0a52'
if usedTime > 5: if usedTime > 5:
# c = session.get('https://www.southwest.com/assets/app/scripts/swa-common.js').text # c = session.get('https://www.southwest.com/assets/app/scripts/swa-common.js').text
response = requests.post('http://52.52.23.116/tls/forward', response = requests.post('http://52.52.23.116/tls/forward',
...@@ -304,17 +302,18 @@ setTimeout(r=> { ...@@ -304,17 +302,18 @@ setTimeout(r=> {
# f.write(code + '\n\n' + get_random_location() + ';;' + c) # f.write(code + '\n\n' + get_random_location() + ';;' + c)
code1 = open('js_dom_run.js','r').read() code1 = open('js_dom_run.js','r').read()
# with open('js_dom_run1.js', 'w', encoding='utf-8') as f: with open('js_dom_run1.js', 'w', encoding='utf-8') as f:
# f.write(code1 + '\n\n' + c) f.write(code1 + '\n\n' + c)
t1 = time.time() t1 = time.time()
# token = list(db.token_shape.aggregate( [ {'$match': {'update_time':{'$gte': int(time.time() * 1000) - 60*60*12}}}, { '$sample': { 'size': 1 } } ] ))[0]['_id'] # token = list(db.token_shape.aggregate( [ {'$match': {'update_time':{'$gte': int(time.time() * 1000) - 60*60*12}}}, { '$sample': { 'size': 1 } } ] ))[0]['_id']
# token = '11' # token = '11'
# r = requests.get('http://127.0.0.1:5000/getinfo').json()['message'] # r = requests.get('http://127.0.0.1:5000/getinfo').json()['message']
# r = requests.get('http://127.0.0.1:3001').json() # r = requests.get('http://127.0.0.1:3001').json()
logger.info("start execute js")
# p = subprocess.Popen(['node', 'js_dom_run1.js', selectId, '11'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, # p = subprocess.Popen(['node', 'js_dom_run1.js', selectId, '11'], stdin=subprocess.PIPE, stdout=subprocess.PIPE,
# p = subprocess.Popen(['node', 'src_run_chrome_105.js', selectId, '11', token], stdin=subprocess.PIPE, stdout=subprocess.PIPE, # p = subprocess.Popen(['node', 'src_run_chrome_105.js', selectId, '11', token], stdin=subprocess.PIPE, stdout=subprocess.PIPE,
# p = subprocess.Popen(['node', 'src_run_company_chrome.js', selectId, '11', token], stdin=subprocess.PIPE, stdout=subprocess.PIPE, # p = subprocess.Popen(['node', 'src_run_company_chrome.js', selectId, '11', token], stdin=subprocess.PIPE, stdout=subprocess.PIPE,
logger.info("start execute js")
p = subprocess.Popen(['node', 'src_run1.js', selectId, '11', token, proxy], stdin=subprocess.PIPE, stdout=subprocess.PIPE, p = subprocess.Popen(['node', 'src_run1.js', selectId, '11', token, proxy], stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE) stderr=subprocess.PIPE)
output, err = p.communicate(timeout=10) output, err = p.communicate(timeout=10)
...@@ -330,8 +329,8 @@ setTimeout(r=> { ...@@ -330,8 +329,8 @@ setTimeout(r=> {
# ) # )
usedTime += 1 usedTime += 1
# print(r) # print(r)
xhr_url = r.pop('xhr_url') # xhr_url = r.pop('xhr_url')
xhr_res = r.pop('xhr_res') # xhr_res = r.pop('xhr_res')
# print('xhr_url', xhr_url) # print('xhr_url', xhr_url)
# print('xhr_res', xhr_res) # print('xhr_res', xhr_res)
headers.update(r) headers.update(r)
......
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.
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