Когда я нажимаю кнопку поиска на странице this, он отправляет запрос на отправку. Я хочу сделать сообщение через cli-http. Как я могу это сделать?Как использовать clj-http для отправки запроса?
(def default-http-opts
{:socket-timeout 10000
:conn-timeout 10000
:insecure? true
:throw-entire-message? false})
(clj-http/post initial-url default-http-opts)
может размещать запрос, но проблема в том, что я хочу передать некоторые параметры. Эти параметры (выбранные кнопки) по умолчанию указаны на странице.
Они:
AdvancedSearchForm:CourseOrSubjectSelection=ALL_ALL
AdvancedSearchForm:GraduateLevelSelection=ALL
AdvancedSearchForm:allStudyAreas=t
AdvancedSearchForm:departmentList=
AdvancedSearchForm:facultyList=
AdvancedSearchForm:keywords=
AdvancedSearchForm:level=ALL
AdvancedSearchForm:semester=ALL
oracle.adf.faces.FORM=AdvancedSearchForm
oracle.adf.faces.STATE_TOKEN=_id21519:_id21520
source=AdvancedSearchForm:searchButton
Ключ AdvancedSearchForm: семестр содержит ':', поэтому я использую строку в качестве ключа, как этот "AdvancedSearchForm: семестр", это КИ в CLJ-клиенте?
Я делаю это так:
(spit (file "/tmp" "ts.html")
(:body (http/post initial-url
{:form-params {"AdvancedSearchForm:CourseOrSubjectSelection" "ALL_ALL", "AdvancedSearchForm:GraduateLevelSelection" "ALL"}})))`
На самом деле страница возвращает действительно «Результаты», но нет курсов не указаны. только шаблон. Я хочу получить все ссылки курса, которые отображаются только вручную. Любая помощь?
- изображение, которое я снимаю с экрана из данных Tamper. Он показывает, что происходит после нажатия кнопки «Поиск». Кажется, клиент перенаправляется на searchresult.jsp. Я использую завиток, чтобы подражать этому. Я делаю это, как этот
curl -D "form data..." https://handbook.unimelb.edu.au/faces/htdocs/user/search/AdvancedSearch.jsp
Затем быстро запустить
curl https://handbook.unimelb.edu.au/faces/htdocs/user/search/SearchResults.jsp
Нет результатов содержание показаны, хотя страница загружается.
Почему вы хотите автоматизировать процесс в этом конкретном сценарии? – Chiron
Я хочу отменить страницу результатов. – yehe
Вы должны получить данные в той же команде curl, в которую вы отправляете запрос! Вы не можете запускать два разных запроса в быстрой последовательности, поскольку они рассматриваются как полностью отличные от сервера. Что возвращает AdvancedSearch.jsp (ваш первый запрос выше)? Страница с результатами или перенаправление на страницу SearchResults? – claj