previous arrowprevious arrow
next arrownext arrow
PlayPause
ArrowArrow
Shadow

Wir realisieren Ihre CAD-Projekte

im AutoCAD, Inventor, Revit und Autodesk Forge Platform

Umfeld
Wir helfen Ihnen bei der Realisierung Ihrer Projekte.

Blog.CAD-Becker.de

Beiträge zu AutoCAD und dessen Vertikalprodukte.

Tipps und Tricks, viele Neuigkeiten aus der Autodesk Welt.
2 Minuten Lesezeit (434 Worte)

Autodesk Forge: Wie übersetzt man die cURL-Dokumentation nach C#?

Anzeige

Aktuelle Top-Angebote der Telekom, Online-Vorteile, Attraktive Prämien

Die Dokumentation der Forge Platform ist für einen reinen C# oder VB.Net Programmierer nicht leicht zu verstehen.

Autodesk hat den Aufruf mit Hilfe von cURL dokumentiert. Ich möchte in meinem neuen Posting zum Thema Forge erläutern wie cURL in C# übersetzt werden kann.

...

curl

Original-Website von cURL.
Ein cURL-Beispiel

​cURL beschreibt die Anfrage (REQUEST) an den Webservice, hier Forge. .Net-Framework hat keine Funktion, die cURL direkt übersetzt. 

Eine Möglichkeit einen Request aufzubauen wäre die Nutzung von RestSharp. RestSharp kann als NuGet-Paket der Applikation hinzugefügt werden.

In der folgenden Tabelle sind die Optionen (die mit dem führenden Minuszeichen) aufgelistet.

 
Optionen Beschreibung RestSharp
-v Methode oder URI
-x HTTP-Methode für den Aufruf z.B. Method.Get oder Method.Post
-H Header Mehrere Header-Parameter sind möglich
-d Parameter-Daten z.B. Client-ID

Das folgende Code-Snippet stellt dar, wie ein RestSharp.RestRequest aufgebaut wird. Dazu ist ein using RestSharp notwendig.

Die URL (Variable: m_URL) entspricht der Option -v im cURL. Die Methode der Option -x.

string m_Url = "https://developer.api.autodesk.com/authentication/v1/gettoken";
RestRequest m_Request = new RestRequest(m_Url, Method.POST);} 
Die cURL-Option -H (Header) wird mit der RestRequest-Methode AddHeader definiert. Diese Methode erwartet einen Key und einen Wert. In unserem obigen Beispiel ist der Key = "Content-Type" und der Wert = "application/x-www-form-urlencoded".

Alternativ zur Definition der Header Optionen können die Werte zunächst in einem Dictionary gesammelt werden. Wobei auch hier der Key und der Wert wie oben schon beschrieben definiert werden muss.

Das untere Code-Snippet beschreibt den Vorgang in C#.​

m_Request.AddHeader("Content-Type", "application/x-www-form-urlencoded");

//Alternative
Dictionary<string, string> m_Headers = new Dictionary<string, string>();
m_Headers.Add("Content-Type", "application/x-www-form-urlencoded");
foreach (KeyValuePair<string, string> m_Header in m_Headers)
{
    m_Request.AddHeader(m_Header.Key, m_Header.Value);
} 

Ist die Anfrage (Request) zusammengestellt, kann der Client instanziert werden. Dieser Client startet die Anfrage und gibt das Ergebnis (Response) zurück. Dazu stehen einige Execute-Methoden zur Verfügung, die entsprechend der Situation ausgewählt werden müssen. Vorzuziehen ist eine asynchrone Ausführung, damit die Anwendung nicht stoppt.

Nur wenn der StatusCode = OK ist, steht ein auswertbares Ergebnis in der Response-Eigenschaft Content zur Verfügung. Im Falle von Forge ist das Format ein JSon-Format und entsprechend auszuwerten.

RestClient m_RestClient = new RestClient("https://developer.api.autodesk.com");
IRestResponse m_Response = await m_RestClient.ExecuteTaskAsync(m_Request);

switch(m_Response.StatusCode)
{
    case System.Net.HttpStatusCode.OK:

        string m_Result = m_Response.Content;

        break;
} 
Visual Lisp To C#: OOPS - Was ist die objektorient...
Autodesk Lizenz: Lizenz Server finden

Ähnliche Beiträge

 

Über mich

  Dipl.-Ing.
Jürgen A. Becker
Versorgungstechnik

 

Suchen

Kalender

Warte kurz, während wir den Kalender laden

Tag-Cloud

Fusion Hardwarebeschleunigung OSMODE Viren Zeichnungen verschicken Optionen WHIPTHREAD Maßstab Netzwerk Lizenz cURL löschen Surface Book leere Texte Varia Zwischenablage DText CAD Text einrahmen Einfügen Plot Maßstab Datentypen Schöne Zeichnung Externe Referenz CAD-Becker.de Rechte Maustaste STRG Anischtfenster Visual Lisp Schrift defekte Zeichung Attribut hinzufügen Lizenz Internationaler Befehlssatz Excel Richtung umkehren unbenannte Objekte Mitte zwischen zwei Punkte HTTP-Request Autodesk Gallery Inventor Schriftfeld Freedom Surface Return 3-legged Befehls Übersetzung Auflösung Beschriftungsmaßstäbe Layer frieren Speichern TrustedPath Umgrenzung Schnittpunkt Plotstil Autodesk Fusion 360 Microsoft Surface Book Cloud Accelerator Autoriserung Kopieren fehlgeschalgen Shift Taste Design Automation API AutoCAD LT Benutzeroberfläche Fusion 360 Layer CAD-Becker AU Viewer Netload ViewCube Schraffur Block Objektfang bewegen MText Whitepaper Eigenschaft SSL-Zertifizierung Suchen Rechner DevCon https Update SecureLoad Linientypfaktor 2018 Plotten Layout Objektwahl Image Umschalttaste Docking MAXACTVP Personaldienstleister Befehlshistory Objekte isolieren gefüllte Flächen AutoCAD Solid Oscar Darmstadt Rechtsklickanpassung DPI Skaling Barcode Update 2018 Ultra HD Öffnen Plot-Maßstab Claudius Peters Objekte zoomen RestSharp 3D-Druck Listen Surface Pro 4 Richtung Cloud PDF Maya RevWolke OFang Lizenz Server Höhekote Surface Pro4 Appload Wipeout Enter Bemaßung XRef Sichtbarkeit Autodesk Forge Video Entertaste Rechnen Security Erhebung Hochgestellte Zahl vonLayer Variable Wiederherstellen eTransmit Transparenz Personal Dienstleister Request Produktschlüssel Drehen Industrie 4.0 temporäre Dateien Layerdialog Profil Zoom http Befehlsübersetzung Bereinigen Kabelrinne Temporäre Dateien Revisionswolken angenommener Schnittpunkt Geschwindigkeit OSNAP Views Volvo internationaler Befehlssatz Vorlage Architekten Sicherheit Bereinig Powerpointfolien Ford europäische Datenschutz Richtlinie Recruiter Linientyp Ansichtsfenster Gummiband Linie BIM 360 API Genertive Design VLAX AutoCAD 2019 BIM 360 Revisionswolke Volvo Ocean Race externe Referenz Objektfang Einstellung Objekte wählen Laden Kabeltragsystem Autodesk Layer Überschreibung fremde Zeichnung Lisp .Net Core Forge DevCon OAuth Fehlerbericht Autorisierung Datenverknüpfung Webservice Bezug Punktwolke Texthöhe History Niedaks Datensicherheit refenziert sich selbst assoc Schnellzugriffs-Werkzeugkasten OOPS Performance Lynn Allen byLayer Online-Seminar Taschenrechner AC$ Hotfix ServicePack Hohe Auflösung Rechtsklick Microsoft Attribut Skalierung Sicherungsdatei Vorlagen Netzwerk Kabeltrasse Vererbung Naviswork BIM PUK Design Center Zeichnungs Name shift Plot Microsoft Surface Pro 4 Returntaste Übersetzung cURL nach C# OBO-Bettermann Text Hololens Forge Beschriftungsmaßstab MoveBak SV$ Linienstärke Werkzeugpalette BAK 2-legged XREF 3-Legged Autorizierung HSMWORKS Interview C# SetByLayer Anmeldung SELECTIONOFFSCREEN Plotstiltabellen AutoCAD Update Schulung Youtube Neu erstellen QRCode Hybrid Architektur Autodesk CAM Sonderzeichen Überschreibung HSM Deklaration Generative Design Scheinselbstständigkeit Objekteigenschaft 3D

Kontakt

Jürgen A. Becker

CAD-Becker.de
Detmolder Str. 786
33699 Bielefeld
Germany
Telefon
+49 (5202) 9953808 
Mobil
+49 170 870 8679
E-Mail
Juergen.Becker(at)CAD-Becker.de