Код 403 (Forbidden) указан не просто так. "Доступ запрещён", но проблема скорее всего в синтаксисе, т.к. такой синтаксис запроса вроде как некорректен:
А сегодня добавил в список зависимостей библиотеку system.Io.compression и всё заработало. Неожиданность в том, что вчера я её уже добавлял, только не сработало. А сегодня сработало. Мистика...
Насколько я понимаю увиденное - не похоже, чтобы это расширение у вас установлено. Отображаемый список - это только список плагинов, которые вы можете перемещать по своим рабочим местам.
Не раскрыто понятие "успешный программист" и его связь с любопытством. Так что это утверждение - чушь. Программист - это человек, который умеете переводить конкретную задачу в конкретный код. Что именно при этом делает "компьютер" достаточно понимать в общих чертах, потому что слишком много технологий, который вообще соединяются для того, чтобы ваш код выполнился. Электричество, полупроводники, вот это всё? Поэтому понятие "любопытство" в таких вещах может быть даже вредно, этим занимаются учёные в компаниях. Если для вас программирование вновинку, то вам в первую очередь надо научиться ставить чёткие задачи и учится достигать ими задуманного результата.
Программирование происходит в голове, а не на компьютере.
Забей в гугле слово crackme (по-русски крякмис). Есть даже сайты с задачками на эту тему. И даже на русском языке. Можно постепенно подниматься от отлова диалоговых окон ввода серийников, до патчирования программ.
Что касается dot.net, то посмотри dnspy. По мне так получше, чем стандартный ILSpy. Мне он очень иногда помогает. Им не ломать, но исследовать вполне себе на приличном уровне можно dot-net-овские приложения. Как-то довелось поисследовать работу nanocad. Не хотел мой плагин подключать. Пришлось заставлять.
Бывает, что устройство на работу происходит случайно. Никогда не знаешь по какой причине тебя взяли на ровном месте. Помню приём на одно место работы в качестве админа. Идёт собеседование. Собеседует меня местный главный спец. Перезагружает комп, идёт POST-тест с кучей цифр и таблиц и он спрашивает в шутку
- А знаешь как успеть прочитать это всё?
Я
- Да.
Нажимаю на клавиатуре кнопку Pause и экран замирает. Чел выпучился, чуть глаза из орбит не выпали. Оказалось, что он при всей своей матерости (без шуток) не знал этой простой функции. Он при мне достаёт трубку, звонит директору и говорит "Берём".
Подавайте дальше. Нечего стесняться. Но продолжайте совершенствоваться.
По моему ключевым тут является сообщение:
>> error: ld returned 1 exit status
Насколько я понимаю - ld - это линковщик. И ему что-то не нравится. Вот он и выдаёт на выходе код "1". Обычно программы так поступают, когда хотят сообщить по завершении об ошибке. Если ошибки нет, то обычно возвращается 0.
>> Зачем тогда некоторые программисты при отладке ставят несколько этих breakpoint'ов?
Например:
- чтобы узнать какая функция выполнится раньше
- убедиться, что программа в эти места не заходит при выполнении
Вы можете и сами придумать как это использовать. В общем, разрешено все, что не запрещено.
2. Можно.
Советую поставить fiddler2, чтобы видеть что такое запросы и как они устроены прямо во время посещений сайтов. Многие вопросы отпадут сами собой. Ну или хотя бы будут прозрачными.
Это лишнее уточнение, т.к. в object все ключи уникальны по определению. Одинаковых ключей не бывает в принципе.
Что касается простоты, то сам json является простым форматом, но не сценарии, в которых он может быть применён. То что вы написали не является стандартным способом работы с Json, который входит в набор его базовых функций - типа получить ключи или значение по ключу или длину массива элемента. Поэтому даже сценарий получения такого списка «ключ-значение», как у вас должен писаться. Увы.
Можно использовать cefsharp, чтобы инжектится в страницу с помощью c# и там уже ждать загрузки и срабатывания всех загрузочных скриптов. Если что, есть ещё cefsharp.offscreen (headless), если требуется запускать в качестве службы или в консоли.