Contenu
Au travail, je suis tombé sur une tâche intéressante d'automatisation d'Instagram , à savoir qu'il fallait juste tenir un dessin. Il y a suffisamment de services pour organiser cette aventure, il y en a même des gratuits. Mais il y avait des conditions supplémentaires (lire premium), en plus, je voulais vraiment voir par moi-même ce qu'il y avait à l'intérieur de cet instagram populaire et peut-être acquérir de l'expérience dans la construction d'une API.
Tout d'abord, je suis allé voir ce que disait Internet. La lecture des docks officiels sur l'API Instagram a clairement montré que les propriétaires ne souhaitaient pas donner accès à une automatisation illimitée, vous pouvez automatiser le travail avec votre compte dans la version de base, mais cela ne correspondait pas à ma tâche, et la version «entreprise» de l'API nécessitait une vérification de l'entreprise, ce qui est naturel Cela ne me va pas. (Peut-être que quelque chose a déjà changé ...)
Ensuite, je suis allé voir ce que disait Internet à propos de l'utilisation de l'API sur le site Web Instagram. Tout était rose et n'était pas de bon augure pour les problèmes. Il y avait même des projets php sur github qui fournissaient des API pour l'automatisation jusqu'à la publication. Des articles sur Habré parlaient de la facilité d'automatisation. Beaucoup de sources avaient une fraîcheur normale (quelques mois, voire des semaines). Toutefois …
Autorisation
(fiddler + waterfox) instagram . . .
, .
- POST https://www.instagram.com/accounts/login/ajax/ . enc_password - , : ( , ) :
(PWDINSTAGRAMBROWSER)
(10)
(unixtime 1591030811)
unixtime , .
, , . github nodejs. , .
. , instagram . ( ) , . .
, , js. js ( ) … ( ), , .
instagram php, js. ( xhr , fiddler) php . - .
… . 7 - , - ( , ip), ).
nodejs puppeteer . :)
, , ( ) . , ( ) . - . , , , :)
, ( ):
php node.js , node.js , , , .
. . html :
:)
, , . . Instagram API graphql (- rust-full ). .
:
query_hash - :
- d5d763b1e2acf209d62d22d184488e57
- bc3296d1ce80a24b1b6e40b1e72903f5
- c76146de99bb02f6415203be841dd25a
- ff260833edf142911047af6024eb634a
variables - json (urlencode ), , , , :
first - ( 50 50)
after - ffirst. fafter , , ( null)
:
API 20 .
Je suis déçu de la qualité de l' API instagram dans la version Web du site, je ne pensais pas que ce serait si médiocre, il semble que tout soit tordu au maximum lors de la génération de données pour l'autorisation , mais ensuite tout est abaissé et un grand trou de sécurité se forme - j'ai volé des cookies avec des en-têtes et j'ai eu accès .
Instagram m'a fait transpirer et ressentir diverses émotions liées à l'utilisation de l'API, mais l'objectif a été pleinement atteint. Auteur: Vitaly Buturlin