Я пытаюсь вызвать API из кода C #, но все время получаю 404.Я посылаю один и тот же запрос от Почтальона, и всегда результат 200.
Мои запросы:
var body = new RequestBody
{
AdultCount = 1,
ChildCount = 0,
FlightList = new List<RequestFlightBody>
{
new RequestFlightBody
{
ArrivalStation = fromCode,
DepartureStation = toCode,
FromDateTime = tomorrow,
ToDateTime = lastDate
},
new RequestFlightBody
{
ArrivalStation = toCode,
DepartureStation = fromCode,
FromDateTime = tomorrow,
ToDateTime = lastDate
}
},
InfantCount = 0,
PriceType = "regular"
};
var client = new RestClient("https://be.wizzair.com/9.4.3");
var request = new RestRequest(Method.POST);
request.Resource = "api/search/timetable";
request.AddJsonBody(body);
var result = await client.ExecuteTaskAsync(request);
if (result.IsSuccessful)
{
var model = JsonConvert.DeserializeObject<FlightBody>(result.Content);
await SaveResults(model);
}
Из этого кода результатом всегда является NoContent.Я попытался использовать код, сгенерированный почтальоном, и результат тоже NoContent.Когда я копирую сериализованный объект в почтальон как тело - это 200 от почтальона.
Любые идеи, что не так ??
РЕДАКТИРОВАТЬ: Я искал заголовки od fiddler, и они разные: почтальон: код:
для кода:
var client = new RestClient(@"https://be.wizzair.com");
var request = new RestRequest(Method.POST);
request.Resource = @"9.4.3/api/search/timetable";
request.AddHeader("host", "be.wizzair.com:443");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Accept", @"*/*");
request.AddHeader("User-Agent", @"PostmanRuntime/7.6.0");
request.AddHeader("Connection", @"close");
request.AddJsonBody(body);
Должен ли я смоделировать запрос с теми же заголовками?Я не знаю, почему пропущены добавленные заголовки.