Koodiesimerkit

Tässä on viitteellinen esimerkki POST-pyynnöstä C#-ohjelmointikielellä, jossa on JSON-sanoma, joka käyttää client certificate authenticationia ja lisää mukautetun headerin.

Tämä esimerkki lataa varmenteen ja siihen liittyvän yksityisen avaimen tiedostosta ja lisää sen HttpClientHandleriin. Tämän jälkeen se luo HttpClientin käyttäen tätä handleria. Seuraavaksi se luo JSON-sanoman, muuntaa sen merkkijonoksi ja luo StringContent-olion. Lisäksi se lisää mukautetun otsikon “vero-softwarekey”. Lopuksi se lähettää POST-pyynnön määritettyyn rajapintaan ja tulostaa vastauksen.

Huomaa, että sinun tulee korvata "path_to_your_certificate.pfx", "your_certificate_password", "your_software_key" ja "https://your_api_endpoint" oikeilla arvoilla.

Rajapinnan kutsuminen

using System;
using System.Net.Http;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using Newtonsoft.Json;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // Lataa varmenne tiedostosta jossa myös yksityinen avain
        var certificate = new X509Certificate2("path_to_your_certificate.pfx", "your_certificate_password");

        // Luo HttpClientHandler ja lisää varmenne
        var handler = new HttpClientHandler();
        handler.ClientCertificates.Add(certificate);

        // Luo HttpClient käyttäen luotua handleria
        var client = new HttpClient(handler);

        // Määritä pyynnön headerit
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

        // Lisää mukautettu headeri API-avaimelle
        client.DefaultRequestHeaders.Add("vero-softwarekey", "your_software_key");

        // Luo JSON-sanoma
        var data = new { id = "72832", name = "John" };
        var jsonData = JsonConvert.SerializeObject(data);
        var contentData = new StringContent(jsonData, Encoding.UTF8, "application/json");

        // Lähetä POST-pyyntö
        var response = await client.PostAsync("https://your_api_endpoint", contentData);

        // Tulosta vastaus
        var content = await response.Content.ReadAsStringAsync();
        Console.WriteLine(content);
    }
}

Sivu on viimeksi päivitetty 23.2.2024