Как передать tumblr api GDPR info и получить JSON?

Когда я запрашиваю api http://demo.tumblr.com/api/read/json, я получаю html с информацией GDPR вместо json. На веб-сайте я могу просто нажать «ОК», а затем я получаю json, как это правильно сделать в быстром темпе?

    func makeReq(){
    let url = "http://demo.tumblr.com/api/read/json"

    URLSession.shared.dataTask(with: URL(string: url)!) { data, response, error in

        let html = String(data: data!, encoding: String.Encoding.utf8)
        self.webView.loadHTMLString(html!, baseURL: nil)

        }.resume()
}

@Moritz: Верно, но я сделал это (на своем личном аккаунте). "демо" в URL - это пользователь. Я попытался открыть html в webView и поймать ссылку после нажатия кнопки «ОК», но никаких действий не было.

Gorthez 28.05.2018 12:16

Кажется, это исправлено: demo.tumblr.com/api/read/json

mikedidthis 29.05.2018 14:53

@mikedidthis Попробуйте в почтальоне, и тогда вы увидите мою проблему. В веб-браузере после нажатия «ок» вы получите json, но проблема в том, как сделать то же самое на мобильном устройстве, выполняя запрос? :)

Gorthez 29.05.2018 16:13
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
3
641
1

Ответы 1

Я не могу помочь вам со Swift, но чтобы пройти страницу согласия GDPR, вам необходимо отправить файл cookie с именем «pfg», содержимое которого зависит от строки агента пользователя, отправленной с запросом. Я выполнил следующие шаги:

  1. В Chrome используйте ... / Дополнительные инструменты / Инструменты разработчика, чтобы открыть отладчик, затем ... / Дополнительные инструменты / Условия сети. Здесь вы можете настроить строку пользовательского агента, отправляемую Chrome, на все, что захотите. Я выбрал XXXXX для краткости.

  2. Перейдите на demo.tumblr.com/read/api и получите форму согласия. Щелкните ОК.

  3. Используйте расширение Chrome cookies.txt, чтобы сохранить файлы cookie для сайта в текстовый файл. Вы можете выбрать длинный файл cookie "pfg" позже.

  4. Сделайте так, чтобы ваша программа отправляла строку пользовательского агента XXXXX и файл cookie pfg с запросом. Вы можете попробовать это с

    wget -U XXXXX --load-cookies=cookies.txt https://demo.tumblr.com/read/api

  5. Срок действия cookie установлен на 12 месяцев. Возможно, вам нужно будет обновить его до этого, а возможно, нет. Кто знает?

Этот ответ теперь устарел в контексте нового Tumblr API.

Mike Spivey 24.12.2019 21:57

Другие вопросы по теме