@UserTrue Спасибо за подсказку. Но, к сожалению, похоже, что это не работает. В окне BAS dev-tools, а также в Chrome/Firefox dev-tools для всех элементов отображается, что все элементы находятся в корне тени, что явно не так.
Использование «чистого» кода
-
Цель
- Перейти на API BAS.
Текущая задача
- Установить user-agent, referer, переход по ссылке, сохранение ответа
Пожалуйста, подскажите, есть ли ошибки? Если да, то какие?
_if(true, function(){ _switch_http_client_main() new_http_client() // HTTP-Client Reset http_client_set_header("User-Agent", {{userAgent}}) // Install User-Agent http_client_set_header("Referer", {{referer}}) // Install Referer VAR_METHOD = "GET" // Request Method http_client_get2({{url}},{method:(VAR_METHOD),headers:("")})! VAR_SERVER_RESPONSE = http_client_encoded_content("auto") VAR_STATUS_CODE = http_client_status() })! // Debug log("User-Agent: " + {{userAgent}}) log("Referer: " + {{referer}}) log("Request URL: " + {{url}}) log("Request Method: " + VAR_METHOD) log("Status Code: " + VAR_STATUS_CODE)Существует ли документацию по API?
-
@sazhin Документации нет почти, есть старый список API на гитхабе https://github.com/bablosoft/BAS/blob/master/Engine/text/apilist.txt . И вот в этой теме на форуме разработчик немого помогал в теме асинхронных вызовов https://community.bablosoft.com/topic/701/поочередное-выполнение-функций/4
Ну а так там немало подводных камней.
-
@sazhin said in Использование «чистого» кода:
http_client_get2
ЛайкакЛайфхак никогда не используйте геты или посты в коде если у вас это дело обернуто в функции. Резулт вам может не понравится. Вообще по возможности выносите это их в стандартные кубики, всю подготовку провести в коде, а запрос стандартный, Конечно получается не 1 код, а три кубика, но так меньше непонятных косяков)). это так моя имха и я ее никому не навязываю. -
@tts9 Просто надо уметь работать с асинхроном в БАС и не будет проблем. У меня есть огромные скрипты полностью в выполнить код и разумеется на запросах. Я даже свою обертку написал, чтобы удобней было )))
-
@tts9 said in Использование «чистого» кода:
@usertrue said in Использование «чистого» кода:
Я даже свою обертку написал,
=)
У меня тоже, только человек спрашивает, как и что. Я и указал первое с чем он столкнется. в этом коде.Я ему дал ссылку на тему, там саппорт все объяснил, если разберется то ни с чем не столкнется. Там только бывают траблы с фигурными скобками {{TEXT}} лучше так ресурсы не писать в выполнить код, в некоторых случаях выдает ошибку.
-
-
-
@ls5stream said in Использование «чистого» кода:
@tts9 Можно аргументировать ответ? "Многим не удобно". Каким образом это может быть удобнее? Это как юзать блокнот для верстки сайта, когда можно юзать конструкторы для, как минимум, создания и стилизации кнопок и т.д., в чем плюсы?
Если бы вы хоть немного имели опыт программирования вы бы так не думали. На чистом коде гораздо легче организовать очень сложную логику, которая на кубиках превратится просто в АД.
-
@faleev Влияет, но так же влияет на его работоспособность. Очень легко можно получить вместо "чистого кода" и быстрого скрипта, а главное легкого. Кучу непонятных багов и ошибок с которыми бороться вам придется самому. А ошибки могут быть самые разные, от _c.break[undefinded] до вылетов самого баса, не краха потока, а краха всего баса и/или забивания памяти. Именно по этому советов как это сделать так мало. Это слишком неоднозначный путь. Обертка делается просто стандартное апи баса заворачивается в свои функции. Вот и вся обертка. Они иногда слишком длинные и долго набирать.
-
@faleev https://community.bablosoft.com/topic/8661/предложение-по-улучшению-редактора-кода-node-js
Почитай, я полностью перешел с "чистого кода" на кубики, из за того, что скорость в многопотоке на коде уступает раз в 10, а то и в 100 обычным кубикам. Напиши на запросах простейшей шаблон на кубиках и на коде и сравни скорость. Мне как программисту своя обертка на коде в 100 раз лучше чем кубики, но этот косяк со скоростью работы в многопотоке вынудил уйти на кубики, к сожалению
-
@serrgo а вот тут приходит на помощь курл https://www.dropbox.com/sh/54kii8r85e5y5qt/AADujFuoeSw0ps4_43750rmsa?dl=0
-
@artihorror Я правильно понимаю что эта курс обертка будет быстрее встроенного в бас http клиента, если его вызывать из кода многопоточно?
-
@serrgo said in Использование «чистого» кода:
@artihorror Я правильно понимаю что эта курс обертка будет быстрее встроенного в бас http клиента, если его вызывать из кода многопоточно?
Вряд ли будит быстрей, а чем вас не устраивает БАСа клиент? Он достаточно быстрый. Я писал скрипты на запросах совсем без БАС, скорость примерно одинаковая.
-
@serrgo да, она немного быстрее чем кубик, но разница не особо заметна, ну либо мне так кажется. По крайней мере в многопотоке не проседает 100%, но лично я предпочитаю использовать кубики относительно запросов, ибо какой тогда смысл в бас если все делать через код)