Wysyłam żądanie post do api z C# webrequest i httpClient, ale zawsze otrzymuję komunikat o błędzie z api, który mówi, że wysłałeś nieprawidłowe dane do nagłówka , ale chodzi o to, kiedy wysyłam te same dane z rozszerzonym klientem Chrome, który działa dobrze, a ja porównałem oba żądania, nie ma nic innego, co przyłączyłem zarówno żądanie, jak i mój kod, czy ktoś może pomóc w ustaleniu, na czym polega problem,Wysyłaj żądanie internetowe działające z aplikacją klienta odpoczynku, ale nie działa z C#
to żądanie od reszty aplikacji klienckiej:
i tu jest żądanie od C#
i tu jest mój C# kod
string item = "<?xml version=\"1.0\" encoding=\"UTF - 8\"?>" +
"<request>" +
"<Username>admin</Username>" +
"<Password>" + password + "</Password>" +
"<password_type>4</password_type>" +
"</request> ";
var request = (HttpWebRequest)WebRequest.Create("http://192.168.8.1/api/user/login");
request.Method = "POST";
request.Headers["_RequestVerificationToken"]= Token;
request.Headers["Cookie"] = Sess;
byte[] bytes = Encoding.UTF8.GetBytes(item);
request.ContentType = "application/xml;charset=UTF-8";
request.ContentLength = bytes.Length;
Stream streamreq = request.GetRequestStream();
streamreq.Write(bytes, 0, bytes.Length);
streamreq.Close();
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
var result = reader.ReadToEnd();
}
'a ja w porównaniu zarówno żądać nic different' Patrząc na zrzuty ekranu, jest wiele różnych rzeczy. 'SessionID' jest inny. '_RequestVerificationToken' jest inny. – mjwills
Które API dzwonisz (czy to https://github.com/arska/e3372/issues/1)? Czy dokumentują, co oznacza kod "125002"? – mjwills
@mjwills sessinid i token jest zmieniany na każde żądanie, problem polega na tym, że wysyłam prawidłową sesję i identyfikator tokena, które dostaję z api, ale w C# nie zwróciło się ok, a kod błędu mówi o nieprawidłowej sesji, jest to api z Huawei LTE modemów –