La publicación de HttpClient devuelve una solicitud incorrecta en c #, funciona en cartero

Dowlers

Estoy intentando acceder a un punto final de descanso, https://api.planet.com/auth/v1/experimental/public/users/authenticate . Está esperando json en el cuerpo de la solicitud.

Puedo hacer que la solicitud funcione en Postman pero sin usar c #. Al usar cartero, obtengo el mensaje de correo electrónico o contraseña no válido esperado, pero con mi código obtengo "Solicitud incorrecta" sin importar que lo intente.

Aquí está el código que hace la solicitud

private void Login()
{
    try
    {
        HttpClient client = new HttpClient();
        client.BaseAddress = new Uri("https://api.planet.com/");
        client.DefaultRequestHeaders.Accept.Clear();
        //ClientDefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
        Data.User user = new Data.User
        {
            email = "[email protected]",
            password = "sdosadf"
        };
        var requestMessage = JsonConvert.SerializeObject(user);
        var content = new StringContent(requestMessage, Encoding.UTF8, "application/json");
        var response = client.PostAsync("auth/v1/experimental/public/users/authenticate", content).Result;
        Console.WriteLine(response.ToString());
    }
    catch (WebException wex )
    {
        MessageBox.Show(wex.Message) ;
    }
}
class User
{
    public string email;
    public string password;
}

Aquí hay capturas de pantalla de Postman que están funcionando ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Dowlers

La forma de hacer que esto funcionara era alterar el encabezado de contenido "tipo de contenido". Por defecto HTTPClientestaba creando content-type: application/json;characterset= UTF8. Dejé caer y recreé el encabezado del contenido sin la sección de conjunto de caracteres y funcionó.

content.Headers.Remove("Content-Type");
content.Headers.Add("Content-Type", "application/json");

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Cómo pasar una cadena en el cuerpo de la solicitud de publicación en cartero

La solicitud funciona en cartero pero no en curl: la API de Azure App Insights finaliza con una solicitud incorrecta

¿Cómo puedo agregar correctamente encabezados en mi solicitud de publicación de axios, la ruta de publicación funciona en cartero pero no cuando uso axios?

UrlFetchApp.fetch devuelve una solicitud incorrecta pero la llamada de servicio funciona en el navegador

La solicitud de publicación con actualización obtiene respuesta como una solicitud incorrecta en Android

Cómo crear una solicitud de publicación para acceder a [Autorizado] accediendo a [AllowAnonymous] en cartero

Enviar una solicitud de publicación del cartero devuelve el código de estado 415

La concatenación de URL con el objeto devuelve una solicitud incorrecta en Angular 4

Al realizar una publicación a través de ajax, se devuelve una solicitud incorrecta en lugar del resultado JSON

Al realizar una publicación a través de ajax, se devuelve una solicitud incorrecta en lugar del resultado JSON

La solicitud de publicación de HttpClient no envía parámetros de publicación en C #

La solicitud de publicación de varias partes en Apache Httpclient 4.5.6 no funciona

Enviar una solicitud de publicación con una cadena json y un archivo en el cuerpo de la solicitud en C # usando httpclient

Recibo una solicitud incorrecta cuando intento crear una solicitud de publicación en AngularJS usando Swagger

Convierta una solicitud de publicación de datos de formulario de cartero en una solicitud de Java

Convierta una solicitud de publicación de datos de formulario de cartero en una solicitud de Java

El método de publicación devuelve 400 solicitud incorrecta en Android

¿Cómo enviar un cuerpo de publicación en la solicitud HttpClient en Windows Phone 8?

La solicitud de publicación HTTP devuelve código HTML en lugar de datos JSON

Estoy tratando de enviar una solicitud de publicación del cartero, pero en la primera solicitud se aceptó, pero los datos se almacenan como nulos

Estado 403 Token CSRF no válido en la solicitud de publicación del cartero

Cuando la solicitud de publicación se realiza en cartero, pasa todos los valores como NULL

Obtener parámetros en la solicitud de publicación http del cartero

el matraz no puede obtener datos de publicación del cartero o la página web, pero funciona en la solicitud de Python

¿Cómo ejecutar una solicitud GET y POST desde la pestaña de solicitud previa de otra solicitud en cartero?

imitar la solicitud de obtención en cartero no funciona como se esperaba

La solicitud de publicación no funciona en un bucle while

¿Cómo enviar una solicitud de publicación con cartero y al mismo tiempo guardar en una base de datos de Mongo?

XMl Request devuelve una respuesta de solicitud incorrecta donde funciona la solicitud json