所以我试图在网站上进行自动结账,但我一直被阻止,因为我无法获得有效的 _abck cookie。
我在一些网站上看到人们付费,所以编码员给他们传感器数据生成器,我买不起,所以我来这里寻找一些关于如何编码这个生成器的建议。
首先,我必须创建一个以传感器数据作为有效负载的发布请求,该请求将设置有效的 _abck cookie。
然后我必须使用 _abck cookie 创建另一个发布请求以及其他一些请求来调用结帐并获取 paypal url
网站:www.zalando.com http://www.zalando.com
API: https://opensource.zalando.com/restful-api-guidelines/ https://opensource.zalando.com/restful-api-guidelines/
import pickle, requests
from bs4 import BeautifulSoup
s = requests.session()
headers = {
'Authority': 'www.zalando.es',
'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.9',
"Accept-Encoding": "gzip, deflate, br",
'Accept-Language': 'es-ES,es;q=0.9',
'Referer': 'https://www.zalando.es/checkout/address',
"Cache-Control": "no-cache",
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36'
}
s.headers.update(headers)
#loading previous zalando session saved cookies so I can access my cart and checkout.
cookies = pickle.load(open(f"{COOKIES_PATH}", "rb"))
for cookie in cookies:
cookie_obj = requests.cookies.create_cookie(
domain=cookie["domain"], name=cookie["name"], value=cookie["value"])
s.cookies.set_cookie(cookie_obj)
res = s.get("https://www.zalando.es/checkout/confirm")
soup = BeautifulSoup(res.text, "lxml")
data = soup.find_all("div")
for attrs in data:
section = attrs.get("data-props")
if section:
final = str(section).split(",")
for info in final:
if "eTag" in info:
eTag = str(info.split(":")[1])[3:-3]
if "checkoutId" in info:
checkoutID = "".join(str(info.split(":")[1].strip('"')).split("""))
s.headers["Accept"] = "*/*"
s.headers["Accept-Encoding"] = "gzip, deflate, br"
s.headers["Content-Type"] = "text/plain;charset=UTF-8"
s.headers["Referer"] = "https://www.zalando.es/checkout/confirm"
s.headers["Origin"] = "https://www.zalando.es"
cookies, cookie = ["bm_sz", "frsx", "zac", "zsr", "zsi", "zsa", "mpulseinject",
"Zalando-Client-Id", "fvgs_ml", "ak_bmsc", "_abck", "bm_sv"], ""
for name, value in s.cookies.get_dict().items():
if name in cookies:
cookie += f"{name}={value}; "
s.headers["Cookie"] = cookie[:-2]
payload = {"sensor_data": "..." }
akamai = s.post("https://www.zalando.es/QP-swp7Px0/SRyH/rEGktd/9maOrLch/WlluOA/KS9r/OH59U0YB", json=payload)
csrf = s.cookies.get_dict()["frsx"]
s.headers["X-Xsrf-Token"] = csrf
s.headers["Accept"] = "application/json"
s.headers["Content-Type"] = "application/json"
del s.headers["upgrade-insecure-requests"]
cookies, cookie = ["bm_sz", "frsx", "zac", "_gid", "_ga", "zsr", "zsi", "zsa", "mpulseinject",
"Zalando-Client-Id", "fvgs_ml" "csrf-token", "ak_bmsc", "_abck", "bm_sv"], ""
for name, value in s.cookies.get_dict().items():
if name in cookies:
cookie += f"{name}={value}; "
s.headers["Cookie"] = cookie[:-2]
payload = {"checkoutId": checkoutID,
"eTag": eTag }
res = s.post(
"https://www.zalando.es/api/checkout/buy-now", json=payload)
print(res.content)