nikan1996 / nike_purchase_system

A software that can automatic login and purchase the limited distribution products in nike official website
GNU General Public License v3.0
32 stars 12 forks source link

nike http request url变了 #1

Closed azyuqian closed 5 years ago

azyuqian commented 6 years ago

您好,

我注意到现在nike网站在所有request后面加了个 visitorID

Request URL:https://unite.nike.com/login?appVersion=364&experienceVersion=312&uxid=com.nike.commerce.snkrs.web&locale=en_US&backendEnvironment=identity&browser=Google%20Inc.&os=undefined&mobile=false&native=false&visit=3&visitor=880831b7-6aa5-46a2-b46c-545d25d4f140

是在一个nike.com上面的js 脚本产生的. 请问怎么样能fake这个东西让网站接收我们的request.

如果能帮忙的话一定会重谢!! 谢谢

nikan1996 commented 6 years ago

@azyuqian

def fake_visitor():
    e = []  # 一个36大小的数组
    n = "0123456789abcdef"
    for i in range(36):
        e.append(n[int(random.random() * 16)])
    e[14] = '4'
    if e[19] not in 'abcdef':
        e[19] = n[3 & int(e[19]) | 8]
    else:
        e[19] = '0'
    e[8] = e[13] = e[18] = e[23] = "-"
    return "".join(e)

你好 如果单纯是 visitorId 的生成, 我找到 js 脚本相关函数并直接把它转成 python 函数了, 但是 nike 网站对 登录有了新的验证机制,(我的代码写于2017年初),所以目前的代码并不足以得到有效的验证信息通过 nike 的验证机制。

azyuqian commented 6 years ago

Error creating account 400 Client Error: Bad Request for url: https://unite.nike.com/join?appVersion=291&experienceVersion=253&uxid=com.nike.commerce.nikedotcom.web&locale=zh_CN&backendEnvironment=identity&browser=Google%20Inc.&os=undefined&mobile=false&native=false&visit=4&visitor=48945a61-70dd-4716-0186-081c482347a7

这样还是bad request... 看来不仅是visitorID的问题了. 这个visitorID的生成和nike网站上的.js生成是一样的么algorithm吗?

wuly12345 commented 6 years ago

你好, 是否可以通过调用函数直接执行网页里面的JS 来产生vistor值 ? 但是我没找到是哪个函数。

nikan1996 commented 6 years ago

@wuly12345 当然可以, 如果JS 比较复杂,可以用相关引擎调用函数产生返回值