Как войти в защищенное представление модуля в suitecrm, используя php curl? - PullRequest
0 голосов
/ 24 августа 2018

С уважением

Я пытаюсь измерить время загрузки представления модуля в suitecrm.я ожидаю смоделировать посещение определенного просмотра n пользователями и измерить время их загрузки.

Поток, который я намереваюсь реализовать, заключается в том, чтобы получить доступ к сайту, предоставляющему пользователя и пароль, выполняя вышеописанное, сохраняя сеанси получая доступ к представлению модуля n случаев, заключите эти взаимодействия в микротайм и получите время, которое занимает этот процесс

Первая проблема, с которой я сталкиваюсь в настоящее время, заключается в том, что при использовании PHP curl не удается войти на сервер впроизводство защищено с помощью ssl.

Это скрипт, который я пытаюсь

<?php

$start = microtime(true);

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, 'https://site/index.php?action=Login&module=Users');
curl_setopt($curl, CURLOPT_USERAGENT,'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/32.0.1700.107 Chrome/32.0.1700.107 Safari/537.36');
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, "username=user&password=pass");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
curl_setopt($curl, CURLOPT_COOKIEJAR, 'cookie-name');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

$answer = curl_exec($curl);

if (curl_error($curl)) {
    echo curl_error($curl);
}

//another request preserving the session

curl_setopt($curl, CURLOPT_URL, 'https://site/index.php?module=Opportunities&offset=1&stamp=1535132707073610600&return_module=Opportunities&action=EditView&record=90eef8e0-e46d-85cc-cef8-5b7e96bd1111');
curl_setopt($curl, CURLOPT_POST, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, "");

$answer = curl_exec($curl);

if (curl_error($curl)) {
    echo curl_error($curl);
}

$time_elapsed_secs = microtime(true) - $start;

echo round($time_elapsed_secs, 2);

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

Заранее спасибо, если вам нужна дополнительная информация, пожалуйста, дайте мне знать, чтобы облегчить ее

1 Ответ

0 голосов
/ 26 августа 2018

После того, как я попробовал и попытался успешно войти в систему на сайте suitecrm, я делюсь решением на тот случай, если кому-то это нужнов режиме редактирования Возможность и, наконец, распечатать информацию в переводе.В этом случае возвращаются содержимое, заголовки, код http и истекшее время загрузки

Моя проблема не состояла в том, чтобы передать параметры, ожидаемые в действии входа в систему.После проверки формы и определения серии входных данных, которые передаются при отправке формы, а также проверки параметров, отправленных во время аутентификации, я получил поля, которые требуется suitecrm, чтобы разрешить вход в систему

По вопросу измерениявремя загрузки, благодаря ответу в stackoverflow мне удалось определить, что невозможно получить реальные данные с помощью phpcurl, для объяснения, пожалуйста, прочитайте ответ .

Я ценю любые комментарии, чтобы помочь любому, кто нуждается в уважении в этом сценарии

...