Kheys
423
modifications
user: 19229e9 (?) (→Principe général : mise à jour JVC) |
(→Accès aux forums : Mise à jour de mai 2025) |
||
| Ligne 853 : | Ligne 853 : | ||
En second lieu, vous ne devrez pas seulement envoyer aux serveurs le contenu de votre message (et le titre du topic si besoin) : la requête ''POST'' devra aussi contenir des paires clés-valeurs générées par le site lui-même et qui agissent comme une sorte de protection. Celles-ci sont : ''fs_session'', ''fs_timestamp'', ''fs_version'', ''form_alias_rang'' ainsi qu'un ''hash''. | En second lieu, vous ne devrez pas seulement envoyer aux serveurs le contenu de votre message (et le titre du topic si besoin) : la requête ''POST'' devra aussi contenir des paires clés-valeurs générées par le site lui-même et qui agissent comme une sorte de protection. Celles-ci sont : ''fs_session'', ''fs_timestamp'', ''fs_version'', ''form_alias_rang'' ainsi qu'un ''hash''. | ||
'''Depuis mai 2025''', suite à une mise à jour de JVC, les informations ''"fs_" '', sont offusqués dans une chaîne en base 64. | |||
'''Depuis mai 2025 | |||
Les fs_ sont récupérables via la balise script : ''window.jvc.forumsAppPayload'' | Les fs_ sont récupérables via la balise script : ''window.jvc.forumsAppPayload'' | ||
| Ligne 870 : | Ligne 864 : | ||
const decoded = JSON.parse(atob(forumsAppPayload)); | const decoded = JSON.parse(atob(forumsAppPayload)); | ||
''' | Auparavant, ces valeurs étaient disponibles depuis des ''inputs'' cachées dans le code HTML des pages de forums/topics et situées dans la ''div'' nommée ''js-form-session-data''. | ||
Les messages privés conservent les informations en clair comme mentionné plus haut. | |||
Si l'on veut envoyer un message sur un topic (ou un forum), il faudra d'abord envoyer une requête ''GET'' à l'URL associée et récupérer ces valeurs chiffrées avant d'envoyer une requête ''POST'' à l'URL avec le contenu du message en plus de ces dernières. | |||
'''Pour poster un message''', la requête POST devra être faite à <code>https://www.jeuxvideo.com/forums/message/add</code> avec le ''header'' <code>Content-Type</code> valant <code>multipart/form-data</code> et les données suivantes en ''body'' : | |||
<pre> | |||
text : le contenu du message | |||
topicId : ID du topic cible | |||
topicTitle : titre du topic (si c'est une création du topic) | |||
forumId : ID du forum cible | |||
group : mettre à 1 | |||
messageId : undefined | |||
toutes les clé/valeurs qui commencent par fs_ (à trouver selon la méthode donnée précédemment) + ajax_hash | |||
</pre> | |||
'''Pour poster un topic''', la requête POST devra être faite à <code>https://www.jeuxvideo.com/forums/topic/add</code> avec le ''header'' <code>Content-Type</code> valant <code>multipart/form-data</code> et les données suivantes en ''body'' : | |||
<pre> | |||
text : le contenu du message | |||
topicId : mettre à 0 | |||
topicTitle : titre du topic (si c'est une création du topic) | |||
forumId : ID du forum cible | |||
group : mettre à 1 | |||
messageId : undefined | |||
toutes les clé/valeurs qui commencent par fs_ (à trouver selon la méthode donnée précédemment) + ajax_hash | |||
submitSurvey : true pour ajouter un sondage, false sinon | |||
answerSurvey : titre du sondage s'il y en a un | |||
responsesSurvey[] : une réponse au sondage | |||
</pre> | |||
'''Note''' : À date, ces informations sont uniquement offusquées dans la partie forum. Les messages privés conservent les informations en clair dans le HTML comme mentionné plus haut. | |||
=== Script Python === | === Script Python === | ||