@Fox Привет.Я описывал задачу в этой теме https://community.bablosoft.com/topic/27417/вызов-многопоточной-функции
Дело в том,что я не могу вообще никак перевести свой скрипт на многопоток,у меня тупо,что в вызове функции в многопоток,что просто обычный многопоток,выполняет свою работу с данными по очереди,а не одновременно.И это очень сильно бьет по времени,а нужна именно скорость обработки.Все уже готово и скрипт рабочий полностью,но скорость обработки заставила воспользоваться многопотоком.Ранее,подобных проблем не замечал,а сейчас элементарную задачу не могу уже несколько дней решить.
Скрипт очень простой и работает без браузера вообще,в скрипте используется только одно взаимодействие с гет запросом.Пример скрипта я приложил в этой теме(но без запросов),он точно почти такой же,как и основа.
Логика такова:
1)Запускается скрипт (без всяких ресурсов изначально и данных) и создаются два ресурса.
2)Делается запрос на сайт,который обрабатывается в отдельной функции,т.е. обрабатывает полученные строки и записывает в ресурс.
3)Вызывается функция в несколько потоков,которая работает (должна работать) с каждой строкой из созданного ранее ресурса(уникальной)в отдельном потоке.Данные обрабатываются и записываются во второй ранее созданный ресурс.
4)Как только данные обработаны,ресурс переводится в список и список записывается в файл.Более ничего не делается.
-Сперва я думал,что проблема в создаваемых в ходе работы ресурсах,но нет.Создавал изначально ресурсы и то же самое было.
-Потом пробовал брать из файлов значения\потом создавать файлы по ходу и из них брать данные\сохранять напрямую пытался и.т.д
-Возможно думал стоят какие то ограничения из за слабого пк с 4 гб оперативы и взял сервер с 64 гб,но как обрабатывалась строка за 5 минут на моем пк,так же по скорости и на серваке.Ладно, с этим я уже ничего не поделаю из за регулярок в проекте,согласен.Но вот перевести на поток и хотя бы по 10 строк одновременно обрабатывать,очень бы помогло.А сейчас в любом случае,у меня,сколько бы потоков не выставил - работает все равно как один,просто по очереди разный поток берет свои данные(
fetch скрипт в браузере
-
Здравствуйте. Есть сайт N, находящийся под защитой cloudflare.
В обычном браузере Chrome можно через консоль посылая fetch спокойно логиниться, обновлять страницу и ты в аккаунте (в ответ на запрос с логином сайт посылает токен авторизации). Т.е. это гораздо проще и быстрее, чем вводить логин, пароль и т.д. Таким же образом можно выполнять на сайте другие действия, но только через консоль в обычном браузере. Скрипт логина имеет вид:fetch("https://webapi.xxxx.xx/api/token/user", {
"headers": {
"accept": "/",
"accept-language": "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7",
"authorization": "Bearer",
"content-type": "application/json",
"sec-ch-ua": "" Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": ""Windows"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-site"
},
"referrer": "https://www.xxxx.xx/",
"referrerPolicy": "strict-origin-when-cross-origin",
"body": "{"Username":"qwerty@qwerty.com","Password":"qwerty12345","MergeCart":true}",
"method": "POST",
"mode": "cors",
});Но когда я в басе открываю сайт и с помощью действия "Яваскрипт" выполняю этот скрипт на странице, то ничего не происходит. Через запросы если делать, то офк все вываливается в code 1020(403).
Собственно вопрос следующий: как в басе сделать то же самое, что я могу сделать в обычном браузере, т.е. открыть сайт, выполнить fetch и таким образом залогиниться? Какое действие нужно выбрать для этого и какую структуру должен иметь скрипт? И как перехватит ответ сайта с токеном авторизации?
Поиск по темам результатов не дал. Извините, если мой вопрос нубский, но я действительно не могу понять, как оно должно выглядеть.
Спасибо всем, кто откликнется. -
@Oyasumi-Punpun не помогло, уже пробовал.
-
Тоже интересно