haythamsoft Ответов: 1

Использование ASP.NET чтобы опубликовать форму API-data C#


Namevaluecollection, который _params = новый namevaluecollection, который();

_params.Add("запрос[название]", "عرض جديد شركة محمد النهدى العقارية");
_params.Add("Request[description]", "شقة بحى البندرية عمارة اللؤلؤة");
_params.Add("Request[type]", "شقة");
_params.Добавить("запрос[request_type]", "FOR_RENT");
_params.Add("Request[price_from]", "20000");
_params.Add("Request[price_to]", "35000");
_params.Add("Request[area_from]", "100");
_params.Add("Request[area_to]", "150");


строка sPostURL = "https://test.com/api/saveRequest";

var wbClient = новый WebClient();

wbClient.Заголовки.Добавить("содержимое-тип", "приложение/форма-Сведения");

wbClient.Headers.Add("токен", "9665840");

var response = wbClient.UploadValues(sPostURL, "Post", _params);

Понятный Мессидж Об Ошибке
The Content-Type header cannot be changed from its default value for this request.'


Что я уже пробовал:

Error Messege <pre>The Content-Type header cannot be changed from its default value for this request.'

1 Ответов

Рейтинг:
1

MadMyche

Прежде всего необходимо отметить, что служба WebClient это довольно старый и не рекомендуется для новой разработки, вместо этого вы должны использовать HttpClient

Важный
Мы не рекомендуем использовать класс WebClient для новой разработки. Вместо этого используйте класс System.Net.Http.HttpClient.
Рекомендации:
Класс WebClient (System.Net) | Microsoft Docs[^]
Класс HttpClient (System.Net.Http) | Microsoft Docs[^]

Во-вторых, следует отметить, что независимо от того, какой клиент вы используете, это только транзитный механизм для отправки запрос http и получить свое ответ http.
Что вам нужно сделать, так это установить заголовок фактического запроса, а не на клиенте, обрабатывающем запрос.
У Microsoft также есть хороший пример для этого, в комплекте с настройкой заголовков
Как отправить данные с помощью класса WebRequest | Microsoft Docs[^]