Bonjour à tous,

Dans une application WEB utilisant VB.Net, j'ai besoin d'effectuer un appel Curl sur une API.

Je n'ai pas de soucis pour remplir le header pour un simple GET mais dès qu'il s'agit de faire un POST qui envoie ET des paramètres ET un fichier, impossible de trouver une syntaxe qui fonctionne.

Voici comment je créé et j'ajoute mon header

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Dim wHeader As WebHeaderCollection = New WebHeaderCollection()
wHeader.Clear()
wHeader.Add(Autorisation)
Voici comment j'ouvre ma requête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
Dim wRequest As System.Net.HttpWebRequest = DirectCast(System.Net.WebRequest.Create(urlApi), System.Net.HttpWebRequest)
 
wRequest.Headers.Add(wHeader)
Ensuite, si je fait un GET, pas de soucis, je récupère ma réponse avec

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Dim sResponse As String = "ko"
Dim getResponse As HttpWebResponse
 
getResponse = wRequest.GetResponse
Dim myreader As New System.IO.StreamReader(getResponse.GetResponseStream)
sResponse = myreader.ReadToEnd()
Par contre, tout ce que j'essaye pour rajouter un paramètre et un fichier, cela ne fonctionne pas.

Voici le genre de Curl que je dois lancer :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
curl
-X POST
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
-F "recipients[0][name]=John"
-F "recipients[0][email]=john.doe@gmail.com"
-F "files[0]=@/path/to/the/pdf/document.pdf"
 
https://api.sandbox.signaturit.com/v3/signatures.json
Soit dis en passant, si quelqu'un sait comment ajouter le SDK de signaturIt sur Visual Studio car moi il ne le trouve pas, cela me simplifierait grandement la vie (j'ai posé la question au support mais pas de réponse...). Je pense ne pas avoir la source adéquate lorsque je lance l'install car j'ai un message d'erreur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
PM> Install-Package Signaturit
Merci d'avance.