Как через http клиент нажать на кнопку?

Поддержка
  • @senerg said in Как через http клиент нажать на кнопку?:

    Кто-нибудь знает, как на нее нажать через http клиент?

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

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

    1. Отследить запрос, которой уходит при нажатии на эту кнопку в браузере и отдает Вам нужные данные.
    2. Повторить его в http-клиенте.
    3. Profit.
  • @xclsv , не правильно выразился.
    Отследил запросы, проходит два гет запроса по очереди:

    https://freight.aliexpress.com/ajaxFreightGetAddressListNew.htm?callback=jQuery18309359350453220188_1541494543906&_=1541494584945
    Accept: */*
    Accept-Encoding: gzip, deflate
    Referer: https://www.aliexpress.com/item/USLION-Phone-Case-For-iPhone-7-6-6s-Plus-5-5s-SE-Simple-Solid-Color-Ultrathin/32808065488.html
    User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
    

    и второй:

    https://freight.aliexpress.com/ajaxFreightCalculateService.htm?callback=jQuery18309359350453220188_1541494543905&f=d&productid=32808065488&count=1&minPrice=0.97&maxPrice=0.97&currencyCode=USD&transactionCurrencyCode=USD&sendGoodsCountry=&country=US&province=&city=&abVersion=1&_=1541494584945
    Accept: */*
    Accept-Encoding: gzip, deflate
    Referer: https://www.aliexpress.com/item/USLION-Phone-Case-For-iPhone-7-6-6s-Plus-5-5s-SE-Simple-Solid-Color-Ultrathin/32808065488.html
    User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
    

    Что такое minPrice я могу догадаться, а откуда брать неизвестные параметры, такие как "callback=jQuery18309359350453220188_1541494543906&=1541494584945" или "abVersion=1&=1541494584945"?

    Вот скрипт.

  • @senerg
    для начала попробуйте повторить запрос со статичными параметрами.
    Ещё поищите эти данные в коде страницы.

  • @xclsv ,

    1. В коде этих цифр "18309359350453220188_1541494543906&=1541494584945" нет. Как узнать каким образом браузер их получает, чтобы отправить на сервер?
    2. И второй вопрос: после клика в браузере меняется код самой страницы, а после таких же гет запросов переменная SAVED_CONTENT просто заменяется ответом последнего гет запроса. Как получить измененный код страницы, который должен получиться при гет запросах?
  • @senerg Есть получше смотри через фидлер отснифай 15414..... это серверное время, перрвые цифры это какой то ключ ищи в фидлере из какого запроса берутся эти данные ctrl+f вводишь в поиск значения и смотришь, может быть в кукисах они , ищи

  • @sparta4wer said in Как через http клиент нажать на кнопку?:

    отснифай

    Можете пояснить как это? Я в фидлере не силен, эти два гет запроса я получил записью в самом БАСе.

  • @senerg Посмотри в ютубе как пользоваться фидлером, в хроме или в другом браузере в режиме инкогнито производишь действия которые тебе нужны, а фидлер перехватит все запросы

  • @senerg В стриме есть БАС+http https://www.youtube.com/watch?v=fC97DG2MHQM

  • @sparta4wer said in Как через http клиент нажать на кнопку?:

    в хроме или в другом браузере в режиме инкогнито производишь действия которые тебе нужны

    Так я там и получу те же самые два гет запроса, которые я получил в записи действий баса (те, что выше выложил), разве нет? Как это поможет определить откуда берутся эти параметры в запросах?

  • @senerg Посмотри все уроки внимательно, и большинство вопросов сразу отвалится, я же написал ctrl+f в фидлере и вводишь туда значение которое нужно найти

  • @sparta4wer Не обращайте внимания, просто он читает через строчку и любит задавать много вопросов))

  • @senerg said in Как через http клиент нажать на кнопку?:

    В коде этих цифр "18309359350453220188_1541494543906&=1541494584945" нет. Как узнать каким образом браузер их получает, чтобы отправить на сервер?

    Значит ищите в других запросах, не в коде самой страницы. Может быть такое, что не найдете, т.к. эти данные каким-либо образом компилируются или обфусцированы. Это нормальная ситуация для сложных сайтов.

    @senerg said in Как через http клиент нажать на кнопку?:

    И второй вопрос: после клика в браузере меняется код самой страницы, а после таких же гет запросов переменная SAVED_CONTENT просто заменяется ответом последнего гет запроса. Как получить измененный код страницы, который должен получиться при гет запросах?

    Поставьте, пожалуйста, правильно вопрос.
    Вам нужен полный код страницы со всеми изменениями после клика на кнопку?
    Или только те данные, которые подгружаются при клике?

    При клике на кнопку сайт отдает функцию jQwery с кучей параметров в json. Для получения данных необходимо воспроизвести эту функцию с нужными параметрами. Задача сложная.
    На этом этапе я бы забил и написал скрипт на браузере.

    P.S. Не обязательно хранить ответы на все запросы в одной и той же переменной.

  • @xclsv , нужны данные, которые подгружаются при клике. Я уже собрал все данные, которые мне нужны на гет запросах, остались только эти, поэтому не хотелось бы браузер подключать. По сути нужно понять, откуда берутся три циферки: 18309359350453220188, 1541494543905 и 1541494584945, где вторая скорее всего просто порядковый номер запроса (в первом запросе она всего на 1 больше, чем во втором запросе).

    На одном форуме нашел, что нужно отправлять запрос сюда:

    http://freight.aliexpress.com/ajaxFreightCalculateService.htm?productid=123456789&userType=cnfm&country=US&count=1&currencyCode=USD
    

    Но почему я не вижу этот запрос в фидлере?

    И еще маленький вопрос: что могут означать параметры:

    f=d&count=1&abVersion=1
    
  • @senerg said in Как через http клиент нажать на кнопку?:

    Но почему я не вижу этот запрос в фидлере?

    Понятия не имею. Вижу этот запрос и без фидлера:
    0_1541579037964_1b80208f-76b0-4b21-a832-ad97c3f93ee4-image.png

  • @senerg said in Как через http клиент нажать на кнопку?:

    И еще маленький вопрос: что могут означать параметры:

    Всё что угодно. Рекомендую вникать в значения параметров уже после того, как выполните запрос со статичными параметрами.

  • @xclsv Этот запрос:

    https://freight.aliexpress.com/ajaxFreightCalculateService.htm?callback=jQuery18309359350453220188_1541494543905&f=d&productid=32808065488&count=1&minPrice=0.97&maxPrice=0.97&currencyCode=USD&transactionCurrencyCode=USD&sendGoodsCountry=&country=US&province=&city=&abVersion=1&_=1541494584945
    

    Я тоже вижу. Там параметры разные.

  • @senerg said in Как через http клиент нажать на кнопку?:

    Я тоже вижу. Там параметры разные.

    Не факт, что Вам на другом форуме порекомендовали верный запрос. Могу ручаться только за тот код, который вижу своими глазами.