previous arrowprevious arrow
next arrownext arrow
PlayPause
previous arrownext arrow
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

 

Google Translator

 

Suchen

Abonniere Blog

Kalender

Warte kurz, während wir den Kalender laden

Tag-Cloud

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

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