Kodexempel
Här är ett riktgivande exempel på ett POST-anrop med programmeringsspråket C# som har ett JSON-meddelande som använder client certificate authentication och lägger till en anpassad header.
I exemplet laddas certifikatet och tillhörande privat nyckel från en fil och läggs till i HttpClientHandler. Därefter skapas HttpClient med denna handler. Efter det skapas ett JSON-meddelande som konverteras till en sträng och skapar ett StringContent-objekt och lägger till den anpassade headern ”vero-softwarekey”. Till slut skickas POST-anropet till det angivna gränssnittet och svaret skrivs ut.
Observera att du måste ersätta "path_to_your_certificate.pfx", "your_certificate_password", "your_software_key" och "https://your_api_endpoint" med rätta värden.
Gränssnittsanrop
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)
{
// Load certificate from a file that also contains the private key
var certificate = new X509Certificate2("path_to_your_certificate.pfx", "your_certificate_password");
// Create HttpClientHandler and add the certificate
var handler = new HttpClientHandler();
handler.ClientCertificates.Add(certificate);
// Create HttpClient using the handler
var client = new HttpClient(handler);
// Set request headers
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
// Add custom header for the API key
client.DefaultRequestHeaders.Add("vero-softwarekey", "your_software_key");
// Create JSON message body
var data = new { id = "72832", name = "John" };
var jsonData = JsonConvert.SerializeObject(data);
var contentData = new StringContent(jsonData, Encoding.UTF8, "application/json");
// Send the POST request
var response = await client.PostAsync("https://your_api_endpoint", contentData);
// Output the response
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}