POST-запрос в NET Core (C #) от Python до C # - PullRequest
0 голосов
/ 27 февраля 2019
import requests

requests.post('https://dathost.net/api/0.1/game-servers/54f55784ced9b10646653aa9/start',
              auth=('john@doe.com', 'secretPassword'))

Как написать это на C #?(NET Core)

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Вы можете сделать это с помощью HttpClient.

Сначала добавьте верхнюю часть кода.

using System.Net.Http;
using System.Net.Http.Headers;

И запускайте этот код, где хотите.

    var client = new HttpClient();
    var byteArray = Encoding.ASCII.GetBytes("john@doe.com:secretPassword");
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));

    var response = await client.PostAsync(
        "https://dathost.net/api/0.1/game-servers/54f55784ced9b10646653aa9/start", null);

Надеюсь, это поможет.

0 голосов
/ 27 февраля 2019

Помимо добавленных комментариев, я бы рекомендовал использовать библиотеку под названием RestSharp .Вы можете легко найти пакет nuget, и код будет проще:

var client = new RestClient("https://dathost.net");
client.Authenticator = new HttpBasicAuthenticator("john@doe.com", "secretPassword");

var request = new RestRequest("api/0.1/game-servers/{id}/start", Method.POST);
request.AddUrlSegment("id", "54f55784ced9b10646653aa9");

// execute the request
IRestResponse response = client.Execute(request);
var content = response.Content;

Вы также можете выполнять асинхронные запросы:

client.ExecuteAsync(request, response => {
    Console.WriteLine(response.Content);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...