Nano Hash - криптовалюты, майнинг, программирование

Блокирует ли API Marketo скручивание для каждой учетной записи?

Я пытаюсь подключиться к REST API Marketo.com с помощью curl. Я не могу получить ответ от службы идентификации. Я получаю только сообщение об ошибке

"[curl] 6: Не удалось разрешить хост "MY_CLIENT_ENDPOINT.mktorest.com"

, но я могу распечатать построенный URL-адрес и вставить его в адресную строку браузера, и это даст ожидаемый ответ с элементом access_token.

Я могу использовать curl в php и в терминале для доступа к своей учетной записи gmail, чтобы curl мог получить доступ к службе https. Я попытался отправить параметры в URL-адресе curl в качестве запроса на получение, а также объявив их с параметром curl -F в качестве почтового запроса.

В моем приложении используется dchesterton/marketo-rest-api доступен на github, но я также попробовал простой запрос php curl, чтобы получить токен доступа.

private function getToken() {
    $url = "$this->client_url/identity/oauth/token?grant_type=client_credentials&client_id=$this->client_id&client_secret=$this->client_secret";

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $response = curl_exec($ch);
    $errors = curl_error($ch);
    curl_close($ch);

    file_put_contents($this->logDir . 'access_token_response' . date('Y-m-d') . '.txt', $url . "\n" . $response . "\n", FILE_APPEND);
    if ($errors) {
        file_put_contents($this->logDir . 'access_token_errors' . date('Y-m-d') . '.txt', $errors . "\n", FILE_APPEND);
    }
    return $response['access_token'];
}

Опять же, это не работает с той же ошибкой, но создает идеально сформированный URL-адрес, который я могу вставить в браузер и получить правильный ответ. Я также пробовал это, используя post вместо get, как я делал для всех других упомянутых тестов, и они были опробованы на моем локальном хосте и на тестовом сервере.

Может ли кто-нибудь объяснить мне, почему это не удастся? Блокирует ли Marketo скручивание для каждой учетной записи?

16.06.2015

Ответы:


1

Я пытался реализовать что-то подобное, но мой код не работал. Я не уверен, что именно не так, но я попробовал ваш код, и, кажется, он отлично работает после некоторых небольших изменений:

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($request_data));
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$response = curl_exec($curl);
$errors = curl_error($curl);
curl_close($curl);

Надеюсь, это поможет.

16.06.2015
  • Спасибо за ответ. 17.06.2015
  • Я заставил это работать, добавив `curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($ch, CURLOPT_MAXREDIRS, 4);` Я не знаю, почему это заработало, и я не проверял ваш код, так как не хочу сломать то, что работает, так что спасибо 17.06.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..