На самом деле, есть и ещё одна проблема, но возможно стоит создать под неё отдельный вопрос. Полученные при компиляции .exe файлы не запускаются через проводник. В смысле, окно командной строки мелькает на долю секунды, и тут же закрывается.
Те методы, которые я использовал в универе, чтобы оставить окно открытым, сейчас при компиляции у меня почему-то не работают. Впрочем, когда я запускаю приложение при открытой VS Code в режиме без отладки, этой проблемы нет: окно остаётся на экране, и есть надпись "Нажмите любую клавишу . . .", видимо потому, что там неявно всё это обёрнуто в .bat скрипт с вызовом pause.
Пожалуйста, не предлагайте поставить Visual Studio и снести VS Code: у меня сейчас нет места на системном диске, нет места на остальных логических дисках, чтобы их уменьшить, и нет денег на новый физический диск. А Visual Studio требует 8-9 Гб минимум даже в комплектации только под C/C++, я смотрел уже через мастер установки. Кроме того, там нет возможности поставить всё не на диск C:\, на диске C:\ понадобится 3-4 Гб в любом случае.
1. Если я добавляю к проблемной строке комментарий, ошибка не уходит - видимо, её причина выше по коду
2. Если полностью удалить ту строчку, ошибка также не уходит
Можно взять для примера строку 4. Что я вижу там: есть две внешние двойные кавычки, внутри ряд одиночных по парам, и ещё две экранированные двойные. Тем не менее, если даже оставить только верхушку скрипта, интерпретатор ругается на эту строку.
Кстати, основную задачу я успешно решил. Есть ещё маленький нюанс: если после символа @ домен выше 2-ого уровня (как например мой провайдер даёт всем адреса формата user@mail.company.net), то перед проверкой MX записей нужно оставить только два уровня, то есть проверять company.net
Daemon23RUS, кстати, я удалил куки для обоих доменов и обновил вкладку с исходником, чтобы убедиться, что пустое содержимое приходит не из-за кук. Ничего не поменялось.
UPD: поменялось, вы были правы. Я открывал целевой домен, а не исходный. Там действительно есть скрипт. И он ставит куку, в которой содержится некий IP адрес. Вот только у меня есть вопрос, почему это делают через куку, а не отправку HTTP кода или через редирект внутри тега script (например, location.reload)?
Daemon23RUS, да, я не подумал, что JS может удалить весь DOM. Да, вы правы совершенно, такое возможно. Но есть нюанс: когда я получаю содержимое через Insomnia, никакого JS там нет от слова совсем. И в Хроме его тоже нет (чтобы вы не сказали про проверку User-Agent): достаточно нажать Ctrl+U, придёт то же самое содержимое, что приходит в Insomnia - при нажатии этой комбинации браузер перекачивает контент, а не берёт кэшированную версию).
Так что я всё ещё не понял механизма. А главное - если JS там правда бы был, зачем кому-то его прятать?
CityCat4, с одной стороны вы как бы правы, с другой, вы же понимаете, что это чисто политическое решение. Да и зачем жаловаться, если у вас в итоге ничего не перестало работать?
Правда, это не объясняет, почему сбой произошёл на ZIP архиве малого размера (который даже после распаковки 2 мегабайта никак не превысит)... Я потестирую ещё, отпишусь, что будет.
acwartz, совершенно верно. Но я же не единственный автор расширения, загружающего аудиотреки. Вот мне и интересно, как выкрутились остальные разработчики
acwartz, я же не из вредности или принципа это всё затеял. Я действительно не понимаю, как его можно/нужно переписать.
Этот код изначально не предназначен для того, чтобы его понимали. Учитывая его назначение
Что до безопасности - не знаю, совершенно же очевидно по тому, в каком контексте он вызывается, что он просто даёт URL для последующей отправки в Downloads API, там видно, что сервер вконтактовский, и видно, что расширение файла всегда mp3. Но они продолжают убеждать меня/самих себя, что это замаскированный вирус. Ну смешно же
А что скажете насчёт Full HD 24", точка крупновата? Я на таком программирую правда, а не рисую, но я близорукий и вижу пиксели что с очками, что без них (с очками особенно сильно). А хотелось бы их не видеть в идеале, как на телефонах.
Что мне взять тогда, если 21.5 Full HD для меня слишком мелко (увеличение масштаба сокращает количество полезного контента)? Может, 1440p 24"?
Ankozar, вы, мне кажется, не понимаете принцип работы json_encode. Ей на вход нужно передавать не строку, а именно массив или объект (строку в формате JSON она как раз вернёт).
Те методы, которые я использовал в универе, чтобы оставить окно открытым, сейчас при компиляции у меня почему-то не работают. Впрочем, когда я запускаю приложение при открытой VS Code в режиме без отладки, этой проблемы нет: окно остаётся на экране, и есть надпись "Нажмите любую клавишу . . .", видимо потому, что там неявно всё это обёрнуто в .bat скрипт с вызовом pause.