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

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