Я пытаюсь авторизоваться на сайте через post запрос
string reqString = "http://ДОМЕН/panel/login&login=" + login.Text + "&pass=" + pass.Text;
var client = WebRequest.Create(reqString);
client.Headers.Set("Authorization", "Basic YWRtaW46MTIzNDU=");
client.Headers["Authorization"] = "YWRtaW46MTIzNDU=";
client.Headers.Add(String.Format("X-Requested-With:{0}", "XMLHttpRequest"));
client.Method = "POST";
client.ContentType = "application/x-www-form-urlencodedn";
HttpWebResponse resp;
using (resp = (HttpWebResponse)client.GetResponse())
{
if (resp.GetResponseStream() != null)
{
var status = resp.StatusDescription;
var reader = new StreamReader(resp.GetResponseStream());
var obj = reader.ReadToEnd();
}
}
Авторизация проходит через аякс, пост запросом, как сохранить полученные куки? И составить условие типа: ЕСЛИ авторизация = ПРАВДА - то вывести то то... ?
private async Task<string> Authorize(string userName, string passwd)
{
var uri = new Uri("http://ДОМЕН/panel/login");
// Тело запроса
var formContent = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("login", userName),
new KeyValuePair<string, string>("pass", password)
});
var client = new HttpClient();
// Добавляешь нужные тебе заголовки, для примера взял Accept-type
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.PostAsync(uri.ToString(), formContent);
var responseContent = await response.Content.ReadAsStringAsync();
dynamic jsonResult = JObject.Parse(responseContent);
// Тут уже зависит от структуры ответа на запрос.
// Для примера достаешь status из запроса.
return jsonResult.status;
}
public async Task<ActionResult> LoginInExternal()
{
var response= await Authorize("login@login.ru", "password");
response == 1 ? Console.WriteLine("Авторизован") : Console.WriteLine("Не Авторизован");
}
Если запрос не идёт, можешь потестить с помощью какой-либо утилиты по типу Postman. На Windows устанавливается через расширения Chrome, для Mac, насколько я помню, из AppStore.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пишу чат на C# по протоколу TCPСтолкнулся с проблемой что при каждом соеденении клиента с сервером, у клиента меняется порт
Необходимо парсить страницу с использованием HtmlAgilityPack, но некоторые нужные поля загружаются из JSКак загрузить страницу полностью после...
У меня в приложении, написанном на C# в Xamarin Studio имеется сервис, из которого нужно автоматически в нужный моент слать SMS на заданный номер с заданным...