Bonjour,
j'essaye de transformer une requête curl en c#, voici la requête fonctionnel :
et voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part curl --insecure --cert C:/Users/Eddy/.chia/mainnet/config/ssl/full_node/private_full_node.crt --key C:/Users/Eddy/.chia/mainnet/config/ssl/full_node/private_full_node.key -d '{}' -H "Content-Type: application/json" -X POST https://localhost:8555/get_blockchain_state | python -m json.tool
Je reçois cette erreur : ' Received an unexpected EOF or 0 bytes from the transport stream.'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 string certificateFile = @"C:\Users\Eddy\.chia\mainnet\config\ssl\full_node\private_full_node.crt"; string keyFile = @"C:\Users\Eddy\.chia\mainnet\config\ssl\full_node\private_full_node.key"; string cert = File.ReadAllText(certificateFile); string key = File.ReadAllText(keyFile); var handler = new HttpClientHandler(); //handler.ClientCertificateOptions = ClientCertificateOption.Manual; //handler.SslProtocols = SslProtocols.Tls12; handler.ServerCertificateCustomValidationCallback = (requestMessage, certificate, chain, policyErrors) => true; handler.ClientCertificates.Add(new X509Certificate2(certificateFile, key)); using (var httpClient = new HttpClient(handler)) { using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://localhost:8555/get_blockchain_state")) { request.Content = new StringContent("{}"); request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json"); var response = await httpClient.SendAsync(request); } }
Je ne sais pas si je transmet le certificat de la bonne façon, idéalement j'aimerai sinon attaqué cette url par un websocket (j'ai tenté d'utiliser le client websocket mais j'ai la même erreur retourné).
Voici la doc de l'api que j'essaye d'interroger https://github.com/Chia-Network/chia...RPC-Interfaces
Merci pour vos réponses.
Partager