cURL локальный путь - PullRequest
0 голосов
/ 10 мая 2011

Я пытаюсь использовать cURL, чтобы пройти страницу входа в систему, но в процессе она выполняет скрытые вызовы локальных путей (т. Е. Хочет получить какой-то файл в /Private/....asp вместо example.com/Private/....asp), но, конечно, эти локальные пути не существуют на моем сервере. Это ограничение cURL или у меня есть способ обойти это?

1 Ответ

1 голос
/ 10 мая 2011

Это подпрыгивает вас в другом месте?

Попробуйте переключатель -L:

http://curl.haxx.se/docs/manpage.html#-L

Редактировать:

Нажатие кнопки на первой странице [1] является POST для [2].
Так что я думаю, что вы хотите сделать это POST, используя curl (сохранение куки с -c).Обычно это просто перенаправляет ваш браузер на [3], но я думаю, что вы хотите сохранить cookie по пути, поэтому сначала выполните POST для [2], затем GET [3], снова используя -c для сохранения файлов cookie, но также и * 1016.* с тем же файлом cookie, который вы создали при размещении сообщения в [2].

Когда вы ПОЛУЧАЕТЕ [3], вы заметите, что результатом является страница, которая использует javascript для автоматической отправки формы с некоторыми значениями аутентификации.Вам нужно будет извлечь эти значения, поместить их в файл и затем использовать их как -d (или --data-urlencode) POST-данные для [4].Разбор значений может быть нетривиальным, в зависимости от ваших знаний, например, perl.Но, тем не менее, вы можете ПОСТАВИТЬ эти значения в [4] и использовать те же куки, что и раньше, и это должно вывести вас на страницу входа [5].

Дайте мне знать, как это работает.

[1] https://acadinfo.wustl.edu/[2] https://acadinfo.wustl.edu/redirectToWSPrivate.asp[3] https://acadinfo.wustl.edu/Private/WebSTAC.asp[4] https://login.wustl.edu/idp/profile/SAML2/POST/SSO[4a] https://login.wustl.edu/idp/Authn/UserPassword[5] https://connect.wustl.edu/login/wulogin.aspx

Еще одно примечание: Таким образом, похоже, что даже после публикации в [4] ваш браузер обычно будет отправлен на [4a], который затем выполняет еще один javascriptперенаправить на [5].Поэтому после публикации в [4] вам нужно будет вручную получить [5] с вызовом curl и тем же файлом cookie, который вы использовали все это время.

...