NitroDesktop, спецсимволы нужно из пути убирать. ? точно не может быть в имени файла, & насколько я помню тоже. Если имя исходного файла не принципиально, его лучше сгенерить - например GUID.
Дядя Богдан, что есть самый хороший? ИМХО те пусть будут, есть в комментах и ответах там полезные вещи.
Я бы предложил отредактировать этот вопрос в стиле - хочу сделать то, делаю так, вот проблема - конкретно этот вопрос выглядит скорее как задача, с учетом того что как я понял вы уже довольно далеко продвинулись в решении своей задачи.
Дядя Богдан, 2 месяца может и нет, но на мой комментарий по поводу сравнения запросов от 17 мая Вы так и не ответили, а создали новый вопрос. Контекст теряется. Тут вот в чем дело - когда отвечаешь, даешь советы - нужна обратная связь - сделал так, получил то - и разбираемся с причиной. А у Вас одна и та же задача с минимальными вариациями в вопросе.
Вы сравнили запросы от программ на .net core и .net framework?
Добавлю: во втором и третьем ноутах по ссылке матрица 1366х768 - будет очень некомфортно, если работать на экране ноута. FHD намного лучше, и на 15.6" вполне можно пользоваться студией в 100% масштабе.
По процу - во втором 2 ядерный Ryzen 3 - его для свежей студии будет маловато.
Ещё как минимум этот забыли Почему код выдает ошибку http 451?
А если серьезно, Дядя Богдан следовало бы поддерживать движ в одном вопросе а не плодить полтора десятка ± одинаковых в течении двух месяцев, ИМХО.
Ну или правда на фриланс.
Дядя Богдан, дампы запросов и ответов на них с обоих компьютеров сможете приложить?
Раз более старая версия, значит код не идентичен, верно? можно diff посмотреть?
Если разные ответы сервера, значит разные запросы. Т.е. либо Ваш код, либо код платформы .net в Ваших двух программах формируют разные запросы.
P.S. проверяйте обе программы в ± одинаковое время, вариант что вэбмастер посмотрел логи и на Ваш IP поместил перманентно 451 ответ я бы не стал исключать - разработчики сайтов не очень любят когда их парсят или используют в качестве API.
Дядя Богдан, по коду подставляются не все куки, а только "wasm". Уверены, что этого достаточно?
Ваша же версия про фреймворк ИМХО неверна, т.к. код ответа генерит сайт, а ему разницы никакой - что 4.7, что 5.0, что питон или вообще curl - главное чтобы запрос был сформирован корректно.
Посмотрите на request'ы ваших обоих проектов fiddler'ом, наверняка найдете отличия.
Дядя Богдан, проверяйте заголовки. в одном из прошлых ответов я писал, что 451 сайт отвечает без каких-то кук. возможно куки просто протухли и надо из девтулс новые взять и подставить.
vector2014, с zennoposter не знаком.
на сервере я бы сделал так - принимаем entity, где не null те поля обновляем, остальные не трогаем.
на клиенте соответственно аналогично - формируем объект, заполняя только измененные поля.
в newtonsoft.json есть параметр omitempty, который в сериализованный объект не добавляет строки для полей со значением по умолчанию.
Дядя Богдан,
Что значит не работает, какие симптомы?
Нижняя строка это уже не заголовки, а тело запроса. Там не полную нельзя, три точки невалидны в json.
Куки каждый раз новые, они и должны отличаться.
Покажите самую верхнюю строку запроса (которая начитается с глагола HTTP метода (POST/GET/...)).
т.е. POST запрос должен идти на https://kad.arbitr.ru/Kad/SearchInstances и никуда более
тело запроса с параметрами поиска отделено от заголовков пустой строкой и имеет строгий формат (json) - иначе сервер вас не поймет.
Дядя Богдан, смотрите:
1. судя по скрину вы делаете запрос POST с поиском на главную зачем-то. его нужно делать на SearchInstances, который вы видите в девтулз
2. в обоих ваших комментах вперемешку идут заголовки и тело запроса - так делать нельзя
вот я буквально только что сделал из фиддлера запрос на поиск конкретного дела и получил на него ссылку в html документе.
обратите внимание на первую и последнюю строки запроса.
Дядя Богдан, о какой логике речь? просмотрел предыдущие вопросы - под id вы понимаете номер дела (нечто вида хххх/хх).
GUID из номера дела вычислить невозможно - GUID генерится псевдослучайно при создании. Если в урле присутствует GUID, значит внутренним ключем дела в системе является именно он, а номер дела - один из атрибутов.
тогда логика такая:
юзер ввел номер
программа сделала POST запрос на поиск дел с номером в параметре
программа получила ответ на запрос и достала из него GUID
программа сделала GET запрос на получение данных
программа получила ответ на запрос и показала результат юзеру
подставив ID последним сегментом и показать это как HTML во встроенном браузере (System.Windows.Forms.WebBrowser).
Скорее всего нужно будет заголовки с куками скопировать, по крайней мере поиск без них возвращает 451.