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

https, Jquery, PHP, Curl и document.cookie

Прежде всего, что я пытаюсь сделать: я пытаюсь получить доступ к странице входа, чтобы я мог войти в систему. Сайт является HTTPS и требует установки файлов cookie, поэтому я использую jquery для запуска PHP + Curl, чтобы получить эту страницу для меня и сохранить куки. Что ж, мне удалось получить файлы cookie, но я продолжаю получать всплывающее окно о том, что файлы cookie не установлены. Поэтому я посмотрел на это намного больше и обнаружил, что javascript выполняет начальную проверку, чтобы увидеть, включены ли файлы cookie:

function initLogin(){
// check if cookie is enabled so applications can run
if (document.cookie == "") {
alert("Cookies are disabled. Cannot access mid-tier with this setting.\nPlease configure your browser to accept cookies.");
return;
} 
....Other Code... 
}

Я просмотрел почти все сообщения на этом форуме и перепробовал кучу разных кодов, но безуспешно. Так вот вопрос как пройти этот момент? Мое понимание: Jquery вызывает php-скрипт на прокси-сервере и вызывает curl, чтобы получить веб-страницу. Затем Curl сохранит файлы cookie для последующего использования, но как вы их используете. Я думал, что достаточно просто установить их в файле cookie, но, похоже, я ошибался. Поэтому я устал просто устанавливать для них CURLOPT_COOKIE, но я не знаю, правильно ли это.

Вот копия кода, который я запускаю:

function getpage(){
$fullurl = "https://url/arsys/shared/login.jsp?/arsys/home";

$ch = curl_init ();
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $fullurl);
$output = curl_exec ($ch);

preg_match_all('|Set-Cookie: (.*);|U', $output, $results);    
$newcookies = implode(';', $results[1]);
echo "<br>COOKIES:" . $newcookies;
curl_setopt ($ch, CURLOPT_COOKIE, $newcookies);
echo curl_error($ch) . " " . $output;
curl_close($ch);
}

Вывод из приведенного выше кода: COOKIES:JSESSIONID=B4830242479D3DFD3235D17EE6A4DEB8;q=""HTTP/1.1 200 OK Cache-Control: no-cache Content-Type: text/html;charset=UTF-8 Server: Microsoft-IIS/7.5 Set-Cookie : JSESSIONID=B4830242479D3DFD3235D17EE6A4DEB8; Путь=/arsys; Безопасный набор файлов cookie: q=""; Истекает = четверг, 01 января 1970 г., 00:00:10 по Гринвичу; Path=/ Дата: пятница, 20 апреля 2012 г., 17:57:17 GMT Content-Length: 35657

Я также пробовал:

function getpage(){
$ckfile = "cookies/cookie.txt";
$fullurl = "https://url/arsys/shared/login.jsp?/arsys/home";

$ch = curl_init ();
curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $fullurl);
$output = curl_exec ($ch);
curl_close($ch);
}

Файлы cookie сохраняются в правильном файле, но все равно получают то же сообщение.

Я попробовал код в Google, и он отлично работает, это javascript, который меня останавливает.


Ответы:


1

Вы должны хранить файлы cookie в файлах cookie браузера (после сохранения в отдельном файле) после получения их из curl с помощью PHP setcookie чтобы иметь возможность использовать его через JavaScript.

Сторона JavaScript: после настройки файлов cookie с помощью PHP лучше использовать jQuery. .cookies.js

$.cookies.get()

$.cookies.filter()

$.cookies.set()

$.cookies.del()

$.cookies.test()

$.cookies.setOptions()
20.04.2012
Новые материалы

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

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

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

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

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

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

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