Хочу получить расписание с сайта https://rasp.dmami.ru/. При переходе по ссылке https://rasp.dmami.ru/?151-331 и дальнешем разборе страницы через встроенный инструмент браузера получается получить JSON строку. Но как получить эту JSON и записать ее в переменную через свою программу?
static void Main(string[] args)
{
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://rasp.dmami.ru/site/group?group=151-331&session=0");
httpWebRequest.Accept = "/";
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "GET";
httpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36 OPR/62.0.3331.116";
httpWebRequest.Referer = "https://rasp.dmami.ru/?151-331";
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
Console.WriteLine(result.ToString());
}
Console.ReadLine();
}
Сделал пару запросов. Пришел к выводу:
https://rasp.dmami.ru/site/group?group=151-331&session=0
с Referer: https://rasp.dmami.ru/?151-331
json
.Логично, нужно сделать запрос к странице, далее забрать кукис, установить его, и загрузить страницу снова с Referer: https://rasp.dmami.ru/site/group?group=151-331&session=0
.
Прилагаю код:
#region Usings
using System;
using System.Net;
using System.Net.Http;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
#endregion
public class Program
{
private static readonly CookieContainer CookieContainer = new CookieContainer();
public static async Task<int> Main()
{
using (HttpClientHandler handler = new HttpClientHandler
{
UseCookies = true,
CookieContainer = CookieContainer
})
{
using (HttpClient client = new HttpClient(handler))
{
client.DefaultRequestHeaders.Referrer = new Uri("https://rasp.dmami.ru/?151-331");
using (HttpResponseMessage message =
await client.GetAsync("https://rasp.dmami.ru/site/group?group=151-331&session=0"))
{
message.EnsureSuccessStatusCode();
Regex regex = new Regex("document.cookie=\\\"(?<CookieName>\\w+)\\=(?<CookieValue>.+?)\\;",
RegexOptions.Compiled);
Match cookieMatch = regex.Match(await message.Content.ReadAsStringAsync());
CookieContainer.Add(new Uri("https://rasp.dmami.ru/"),
new Cookie(cookieMatch.Groups["CookieName"].Value,
cookieMatch.Groups["CookieValue"].Value));
client.DefaultRequestHeaders.Referrer =
new Uri("https://rasp.dmami.ru/site/group?group=151-331&session=0");
using (HttpResponseMessage responseJsonMessage =
await client.GetAsync("https://rasp.dmami.ru/site/group?group=151-331&session=0"))
{
responseJsonMessage.EnsureSuccessStatusCode();
Console.WriteLine(await responseJsonMessage.Content.ReadAsStringAsync());
}
}
}
}
Console.ReadKey(true);
return 0;
}
}
Ответ:
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Имеется селект для отчета на MySQLОтчет буду публиковать на SRSS
Есть панель управления которая находится на поддомене dashboardsite
1) Есть база данных в ней есть поля id title foregin 2) в title перечислены отечественные машины и иностранные 3) иностранные машины записаны в таблице...
Есть необходимость автоматизировать для себя постинг записей на сайте, в группу вк, телеграмм