Уважаемое сообщество!
Удавалось ли кому-то сделать работающий граббер количества подписчиков Instagram на esp8266?
Есть классика — InstagramStats.h + JsonStreamingParser.h
Выдает 0 по тайм-ауту.
Временно (давно) помогало увеличение тайм-аута до 50000, но теперь и это не работает.
Второй вариант — послать запрос https://www.instagram.com/[имяпользователя]/?__a=1 и посмотреть ответ.
Но тут всплывает HTTPS (без него сразу выкидывает), которому нужно:
или client->setInsecure(); (с Инстаграмом такое не проходит),
или client->setFingerprint([fingerprint]); (тоже почему-то не работает, выдает код ответа http 302)
Третий вариант — WiFiClientSecure
Выдает ошибочный JSON {"message": "login_required", "error_title": "You've Been Logged Out.....
вместо {"logging_page_id":"profilePage_528817151","show_suggested_profiles":true.....
Вот, например, считать курс Биткоина с их сайта удается. Но там, правда, и client->setInsecure(); проходит, не говоря уже про fingerprint..
Есть ли решения? Делал ли кто-нибудь что-то подобное?
Удавалось ли кому-то сделать работающий граббер количества подписчиков Instagram на esp8266?
Есть классика — InstagramStats.h + JsonStreamingParser.h
Выдает 0 по тайм-ауту.
Временно (давно) помогало увеличение тайм-аута до 50000, но теперь и это не работает.
Второй вариант — послать запрос https://www.instagram.com/[имяпользователя]/?__a=1 и посмотреть ответ.
Но тут всплывает HTTPS (без него сразу выкидывает), которому нужно:
или client->setInsecure(); (с Инстаграмом такое не проходит),
или client->setFingerprint([fingerprint]); (тоже почему-то не работает, выдает код ответа http 302)
Третий вариант — WiFiClientSecure
Код:
#include <WiFiClientSecure.h>
const char* host = "www.instagram.com";
const int httpsPort = 443;
[...]
WiFiClientSecure client;
client.setTrustAnchors(&cert);
[...]
String url = "/nasa/?__a=1";
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"User-Agent: Instagram 10.2.2 Android (18/4.3; 320dpi; 720x1280; Huawei; HWEVA; EVA-L18; qcom; en_US)\r\n" +
"Connection: close\r\n\r\n");
[...]
String line = client.readStringUntil('}');
вместо {"logging_page_id":"profilePage_528817151","show_suggested_profiles":true.....
Вот, например, считать курс Биткоина с их сайта удается. Но там, правда, и client->setInsecure(); проходит, не говоря уже про fingerprint..
Есть ли решения? Делал ли кто-нибудь что-то подобное?