LINUX.ORG.RU

ctrl+shift+i в браузере нажми, или curl дёргай (точность пострадает)

anonymous
()
Ответ на: комментарий от Deleted

Мне нужно знать сколько времени проходит после того как пользователь нажимает на кнопку и как страница вернет результат. Только это нужно сделать в bash, для статистики

letema88
() автор топика
curl -w "%{time_namelookup}\n%{time_connect}\n %{time_appconnect}\n%{time_pretransfer}\n%{time_redirect}\n%{time_starttransfer}\n%{time_total}\n" -o /dev/null -s "http://xxx.com/"
madcore ★★★★★
()
Последнее исправление: madcore (всего исправлений: 1)
Ответ на: комментарий от letema88

Установи на машину всех пользователей бэкдор и собирай статистику с руткита с эксплойтом для браузера.

anonymous
()
Ответ на: комментарий от letema88

Ты можешь потом отправлять полученные данные себе на баш. Можешь даже генерировать башем и отправлять на удалённый баш.

anonymous
()
Ответ на: комментарий от letema88

Если у тебя на странице используется javascript, динамическое создание страницы на стороне клиентах, технология AJAX при нажатии на кнопку на странице, а это скорее всего так и есть, то wget и вообще bash тебе не подойдёт.

У тебя javascript обрабатывается браузером и браузер ждёт ответа со стороны сервера. А в консольных браузерах, тем более просто wget ни о каком javascript говорить не приходится.

anonymous
()
Ответ на: комментарий от anonymous

В elinks есть жс. Отличный браузер - каждый лень пользуюсь чтобы страницы с жс парсить.

anonymous
()
Ответ на: комментарий от madcore

Полезный ключ -w. Спасибо, не знал про него.

urxvt ★★★★★
()
Ответ на: комментарий от letema88

Телепаты по ошибкам в отпуске

Deleted
()
Ответ на: комментарий от madcore

<div class=«mdl-textfield mdl-js-textfield mdl-textfield--floating-label is-upgraded» data-upgraded=",MaterialTextfield"> <input class=«mdl-textfield__input» type=«text» id=«login-login» name=«login» value=«»> <label class=«mdl-textfield__label» for=«login-login»>Логин<span class=«widget-form__required-field»> *</span></label> <div class=«required-textfield»>Обязательно для заполнения</div> <span class=«mdl-textfield__error»></span> </div>

Я так понимаю нужно с curl передавать какие то из этих параметров, что бы зарегистрироваться на сайт?

letema88
() автор топика
Ответ на: комментарий от letema88

Да, но в этом куске не вижу всех необходимых параметров.
Необходимо первым запросом отправить форму авторизации и сохранить принятые куки, что-то вроде такого:

curl -c 'mycookies.txt' -F login=megaadmin -F pass=myc00lpass -F foo=blablabla 'http://xxx.com'

Потом делать запросы с использованием сохраненных кук:
curl -b '@mycookies.txt' 'http://xxx.com'

madcore ★★★★★
()
Ответ на: комментарий от letema88

Нужно смотреть в консоли браузера, что отправляется/принимается при авторизации, я не зарегистрирован на том сайте.

Там вроде бы отправляется через json

curl -c 'cookies.txt' -H "Content-Type: application/json" --request POST -d '{ "login": "manager-b2", "password": "test", "permissions": null, "userUid": null, "_model_cid": "c12" }' 'https://promo.1bom.ru/api-internal/login'

madcore ★★★★★
()
Ответ на: комментарий от madcore

-> POST Запрос (/api-internal/login): Object app.1536672368907.de4b.1.35.0.bundle.js:1 Uncaught TypeError: Cannot read property 'updateClasses_' of undefined at t.value (app.1536672368907.de4b.1.35.0.bundle.js:1) at t.value (app.1536672368907.de4b.1.35.0.bundle.js:1) at HTMLDivElement.dispatch (jquery.min.js:3) at HTMLDivElement.q.handle (jquery.min.js:3) app.1536672368907.de4b.1.35.0.bundle.js:15 <- Ответ: Object app.1536672368907.de4b.1.35.0.bundle.js:1 Uncaught TypeError: Cannot read property 'updateClasses_' of undefined at app.1536672368907.de4b.1.35.0.bundle.js:1 at Function.m.each.m.forEach (underscore.js:153) at t.value (app.1536672368907.de4b.1.35.0.bundle.js:1) at l.success (app.1536672368907.de4b.1.35.0.bundle.js:1) at options.success (backbone.js:638) at o.success (app.1536672368907.de4b.1.35.0.bundle.js:1) at Object.e.success (app.1536672368907.de4b.1.35.0.bundle.js:15) at i (jquery.min.js:2) at Object.fireWith [as resolveWith] (jquery.min.js:2) at A (jquery.min.js:4)

Вот что то такое нужно смотреть в браузере?

letema88
() автор топика
Ответ на: комментарий от letema88

У меня в браузере выглядит так:

 -> POST Запрос (/api-internal/login):  Object { login: "test", password: "test", permissions: null, userUid: null, _model_cid: "c12" }  
app.1536672368907.de4b.1.35.0.bundle.js:15:484343
 <- Ошибка: "Unprocessable entity"  
app.1536672368907.de4b.1.35.0.bundle.js:15:484752


Вот вполнение curl:
 $ curl -c 'cookies.txt' -H "Content-Type: application/json" --request POST -d '{ "login": "test", "password": "test", "permissions": null, "userUid": null, "_model_cid": "c12" }' 'https://promo.1bom.ru/api-internal/login'
[{"field":"login","message":"Некорректный логин"}]

madcore ★★★★★
()
Ответ на: комментарий от madcore

Спасибо большое, мне кажется это проблема уже в сети

letema88
() автор топика
Ответ на: комментарий от madcore

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

letema88
() автор топика
Ответ на: комментарий от letema88

Не быстрее было бы прочесть man curl?

Просто скрипт выводит доли секунды. А в браузере запрос выполняется почти минуту

Вероятно, следует убедиться, что запросы одинаковые.

madcore ★★★★★
()
Ответ на: комментарий от madcore

T=$(date +%H:%M:%S) D=$(date +%Y-%m-%d) LOOKUP=«Lookup time:\t%{time_namelookup}» CONNECT=«Connect time:\t%{time_connect}» APPCON=«AppCon time:\t%{time_appconnect}» PREXFER=«PreXfer time:\t%{time_pretransfer}» REDIRECT=«Redirect time\t%{time_redirect}» STARTXFER=«StartXfer time:\t%{time_starttransfer}» TOTAL=«Total time:\t%{time_total}» CURL=$(curl -w «\n$LOOKUP\n$CONNECT\n$APPCON\n$PREXFER\n$REDIRECT\n$STARTXFER\n$TOTAL\n» -o /dev/null -s "http://127.0.0.1/api-internal/request/regenerate?request_id=23610") CURLTOTAL=$(curl -w «\n$TOTAL\n» -o /dev/null -s "http://127.0.0.1/api-internal/request/regenerate?request_id=23610") AUTORIZ=$(curl -c 'cookies.txt' -H «Content-Type: application/json» --request POST -d '{ «login»: «login», «password»: «12345», «permissions»: null, «userUid»: null, «_model_cid»: «c12» }' 'http://127.0.0.1/api-interna$

echo «$T.$D$CURL» > /home/b2bnn/share/count/$D.$T-counter.txt echo «$CURLTOTAL» Вот такой у меня получился скрипт, мне кажется второй curl запрос который собирает метрики проходит бес авторизации. Поэтому так быстро. Подскажите как его тоже отправить с авторизацией

letema88
() автор топика
Ответ на: комментарий от Deleted

Это моя первая программа, спасибо за помощь. У меня заработало, простоя я запрос после авторизации отпровлял бес cookies

letema88
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.