所以我试图在网站上进行自动结账,但我一直被阻止,因为我无法获得有效的 _abck cookie。我在一些网站上看到人们付费,所以编码人员给他们传感器数据生成器,我负担不起,所以我来到这里寻找一些关于如何编码这个生成器的建议。首先,我必须使用传感器数据作为有效负载创建一个 post 请求,这个请求将设置有效的 _abck cookie。然后我必须使用 _abck cookie 创建另一个 post 请求,还有更多的请求来调用结帐并获取 paypal url网站:www.zalando.com
API: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)