@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
Авторизация в личном кабинете GET запросом
-
Не могу понять как авторизироваться в lk.megafon.ru со своими логином и паролем через GET запрос. Отправляю в get ссылку на лк, получаю ответ 200 и код страницы, через обычный браузер ввожу логин пароль, захожу, авторизация прошла а в Fiddler нет такой строки, что бы я понял что он отправляет данные на сервер, типа lk.megafon.ru/login?login="123"&pass="123", как это сделать, помогите пожалуйста, серфил - ничего нужного не нашел.
-
это пост запрос
на УРЛ: https://lk.megafon.ru/dologin/
В данные добавь:
CSRF: f1460f84-8bba-45ff-a939-52a12b38eb7b
j_username: +7number
j_password: password -
CSRF получить нужно сначала, отправитв гет запрос на ссылку https://lk.megafon.ru/login/ и через XPATH вытащить атрибут //input[@name='CSRF']/@value
-
@ls5stream said in Авторизация в личном кабинете GET запросом:
Статус ответа - 302
Текст ссылки
302 это редирект смотрите куда он вас отправляет. Возможно Location заголовок. -
@ls5stream Значит вы что неверно передаете ему для авторизации. Как правило это связанно с ошибками в заголовках. реферер например или еще что.
у вас же есть архив с фидлером для входа?. Ну вот внимательно пройдитесь по заголовкам. Именно этих редиректов. https://lk.megafon.ru/dologin/ => http://lk.megafon.ru/login Где что и откуда там берется. -
@ls5stream
Попробуй установить юзер-агент в хттп клиенте
Пост запрос на урл: https://lk.megafon.ru/dologin/
в Form-data такую строку ( CSRF отловить сначала, так же свои данные вписывай): CSRF=f1460f84-8bba-45ff-a939-52a12b38eb7b&j_username=%2Bномертелефона&j_password=пароль
Пример:
CSRF=f1460f84-8bba-45ff-a939-52a12b38eb7b&j_username=%2B79511164022&j_password=passwordsoasdasd -
@ls5stream 0_1552126452431_test_megafon.xml
Он редиректить может по началу что угорелый, потому while пока не уймется. Остальное просто ваш телефон и пароль