Как добавить один заголовок в каждой строке HTTP-запроса - PullRequest
1 голос
/ 29 мая 2019

Я отправляю запрос http, и мне нужно передать имя пользователя и пароль в заголовках. Вот как я это делаю:

 client.DefaultRequestHeaders.Accept.Clear(); 

 string jsonObjectA = DataDto.ToJSONString();
 HttpContent content = new StringContent(jsonObjectA, Encoding.UTF8, "application/json");
 client.DefaultRequestHeaders.Add("userName", "".AppendWebConfigValue("username"));
 client.DefaultRequestHeaders.Add("password", "".AppendWebConfigValue("Password"));

 client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
 client.BaseAddress = new Uri("https://url/");
 httpResponse = client.PostAsync("method/test", content).Result;

Вот как должен выглядеть запрос:

User-Agent: Fiddler
content-Type : application/json
userName: username
password: password

Тем не менее, это то, что я получаю, когда запускаю свой код выше:

userName:usernamepassword:passwordAccept:application/json

Я пытался добавить с помощью Environment.NewLine, но выдает ошибку, что заголовок не в правильном формате.

Как добавить 2 заголовка в отдельной строке, чтобы получить ответ от сервера?

1 Ответ

0 голосов
/ 29 мая 2019

Вы можете использовать HttpRequestMessage, чтобы создать запрос и добавить нужные заголовки:

static void Main(string[] args)
{
    var client = new HttpClient();

    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

    var request = new HttpRequestMessage
    {
        RequestUri = new Uri("https://postb.in/1559160461304-0137126960325"),
        Method = HttpMethod.Post,
    };

    request.Headers.Add("username", "username");
    request.Headers.Add("password", "password");

    var httpResponse = client.SendAsync(request).Result;
}

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...