Хочу написать бота, с разным функционалом, для своих нужд для Steam. Одна из функций это спам в этот Топик. Все возможные и нужные проверки, а так же тайминги уже реализовал, вопрос встал с самим запросом добавление коментария в топик. Использую для запроса HttpClient
и HttpResponseMessage
для приятия ответа. Так же при помощи них сделал авторизацию.
Отследил, что при отправке с браузера отправляется 2 запроса:
1ый отправляется на адрес https://steamcommunity.com/comment/ForumTopic/post/103582791432987389/882957625858802610
2ой запрос
После отправляется GET-запрос на обновление формы.
По началу думал, как формируется ссылка первого запроса, но эти Айдишники можно вытянуть из формы и сформировать ссылку.
После я попробовал воссоздать запрос на HttpClient
, впихнув в него такие же данные, которые выявил при отслеживании и в итоге ответ {"success":false}
. После поработал с заголовками, т.к заголовки авторизации и при отправки запроса на добавления комментария немного разнятся, но даже это не помогло.
Ок. Грешил на то что, я как то не правильно формирую запрос (хотя авторизацию реализовал вполне нормально). Решил перейти на postman и там попробовать, воссоздал запрос (печеньки, заголовки, данные), ответ от сервера такой же.
В итоге прошу помощи с этим запросом или группой запросов.
HttpClient client;
string result;
HttpResponseMessage request;
CookieContainer cookieContainer;
HttpClientHandler msgHandler;
client.DefaultRequestHeaders.Add("Accept", "*/*");
client.DefaultRequestHeaders.Add("DNT", "1");
client.DefaultRequestHeaders.Add("X-Requested-With", "XMLHttpRequest");
client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36");
client.DefaultRequestHeaders.Add("Sec-Fetch-Site", "same-origin");
client.DefaultRequestHeaders.Add("Sec-Fetch-Mode", "cors");
client.DefaultRequestHeaders.Add("Sec-Fetch-Dest", "empty");
client.DefaultRequestHeaders.Add("donotcache", "155524323");
cookieContainer = new CookieContainer();
msgHandler = new HttpClientHandler();
msgHandler.CookieContainer = cookieContainer;
client = new HttpClient(msgHandler);
cookieList = new List<Cookie>();
string s = $"{{\"topic_permissions\":{{\"can_view\":1,\"can_post\":1,\"can_reply\":1,\"is_banned\":0,\"can_delete\":0,\"can_edit\":0}},\"original_poster\":167429074,\"topic_gidanswer\":\"0\",\"forum_appid\":0,\"forum_public\":0,\"forum_type\":\"General\",\"forum_gidfeature\":\"0\"}}";
Dictionary<string, string> data = new Dictionary<string, string>();
data.Add("сomment", "+++++++++");
data.Add("count", "15");
data.Add("extended_data", s);
data.Add("feature2", "364043054108978276");
data.Add("include_raw", "true");
data.Add("oldestfirst", "true");
data.Add("sessionid", "d85112a4197fa0a638ffea9c");
request = await client.PostAsync($"https://steamcommunity.com/comment/ForumTopic/post/103582791432987389/882957625858802610/", new FormUrlEncodedContent(data));
result = await request.Content.ReadAsStringAsync();
Изучаю C# по книге Рихтера и застопорился на создании объекта в соседнем доменеКопипаст кода из книги не выполняется
Подскажите пожалуйста, почему в ei11 форма делает перезагрузку, хотя прописал preventDefault, только в ie такой баг:
подскажите в чем может быть ошибка, в ie11 только в одном месте не отработывает полифил для closest? SCRIPT5007: Не удалось получить свойство "matches"...
есть форма в которой пользможет добавлять изображения и при необходимости удалять его