O Shanrong Mall estocou alguns produtos que todo mundo "gosta de ouvir e ver" este mês, e não há prêmio. Se houver margem de lucro, esses produtos serão naturalmente saqueados. Se não houver estoque, é necessário.
Então tentei analisá-lo e o seguinte é um registro de processo para referência.
Em primeiro lugar, quando você entra na página do produto no navegador, o grande "lembrete de chegada" vermelho vem diretamente, então não pense muito no lembrete de que você não pode contar com ele.
Pressione rapidamente F12 e atualize e descubra que o seguinte URL é suspeito porque contém a palavra-chave "ProDetail".
http://buy.shanrongmall.com/client/ajaxProdDetail.jhtml?skuId=null&productId=******&creditpaymentId=&isJointTeamBuyType=&ts=2023041602224
Olhando para os dados retornados, é um pedaço de informação Json. Expanda item por item e encontre o campo "storage", e o valor correspondente também é 0, o que deve ser muito bom.
Depois volte para ver a composição da url e os dados da requisição, o mais óbvio é ts=2023041602224 depois da url (eu testei antes, então a hora é antes).
Obviamente é um parâmetro relacionado ao tempo, de um modo geral deveria ser o último horário, mas essa url pode retornar dados com um horário antigo, e não me preocupo em verificar se o parâmetro ts afeta a precisão dos dados. Agora que chegamos a esse ponto, definitivamente quero ver como isso aconteceu.
Como ts está mudando, a url deve ser construída a partir de uma string. Pesquise com "ajaxProdDetail" no url como uma palavra-chave e obtenha os dois resultados a seguir. O primeiro é o próprio url e o outro di é o arquivo js que constrói o url.
Clique duas vezes nele para pular para a interface do código js, olhe para baixo e encontre a localização de ts
Pode-se ver que a fonte de ts é esta linha de código:
'ts': (new Date()).toJSON().match(/\d/g).slice(0, 13).join('')
Como de costume, se não se preocupar, basta copiá-lo para o console e executá-lo:
A partir dos resultados, é obviamente correto.
Simplesmente entenda o construtor de ts, que é obter a hora no formato de data ISO 8601, depois pegue todos os números regularmente e, finalmente, pegue os primeiros 13 dígitos.
Tomando meu tempo atual como exemplo, pegue o tempo ISO para obter:
2023-04-19T11:06:41.000Z
Tomando todos os números dá:
20230419110641000
Em seguida, pegue os primeiros 13 dígitos para obter:
2023041911064
Em seguida, combine os URLs e pronto ~ Termine o dia.
Nota: A necessidade do parâmetro ts não foi verificada, e apenas fiz meu próprio registro de aprendizado reverso js, e também dei algumas referências para quem precisa.
- Fim -
Artigos mais emocionantes
Clique no cartão de visita abaixo para seguir【Ocasionalmente digite o código】
Ilumine as pequenas flores para que mais pessoas saibam