Я установил сервер Jetty (написанный на Java), который обрабатывает HTTP-запросы. Сервер отлично работает, и когда я использую клиент Jetty HTTP, у меня нет проблем.Отправка HTTP-кодированного запроса C#
Теперь я пытаюсь отправить запросы на сервер с C#. Вот мой код -
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
class Requests
{
public static void Main()
{
RunAsync().Wait();
}
static async Task RunAsync()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost:8080/");
var request = new HttpRequestMessage(HttpMethod.Post, "create");
var postData = new List<KeyValuePair<string, string>>();
postData.Add(new KeyValuePair<string, string>("Topics001", "Batman"));
postData.Add(new KeyValuePair<string, string>("Account", "5"));
foreach (KeyValuePair<string,string> s in postData)
Console.WriteLine(s);
request.Content = new FormUrlEncodedContent(postData);
var response = await client.SendAsync(request);
}
}
}
Я могу подтвердить с моего сервера, что он получающий запрос на правильный адрес, но по непонятным причинам, содержание запроса является недействительным. Он никогда не получает контент, который я пытаюсь отправить.
Что может быть неправильным?
Я довольно новичок в C#. Попытка этого в Visual Studio вызывает ошибку компиляции - «Namespace« UI »не существует в« System.Web ». Вы забыли добавить ссылку?» Что это может означать? –
Кроме того, как я могу запустить это? Вызовите Page_Load из другого метода с помощью класса Main? Какие параметры я бы прошел? –
Да, извините. Я сделал это в веб-проекте, поэтому его вызывают из загрузки страницы. Вы не нуждаетесь в загрузке страницы и можете просто скопировать метод и вызвать его из основного – Jonathan