HTTP-Anfragen mit curl in C++ senden inklusive Installation der Library

C++ bietet keine eingebaute Bibliothek für HTTP-Anfragen, wie C# mit der WebClient bzw. HttpWebRequest Klasse. Statt das Protokoll selbst mit Sockets zu implementieren, stehen jedoch andere Bibliotheken zur Verfügung. Eine der verbreitetsten ist curl, bekannt durch das gleichnamige Kommandozeilenwerkzeug. Es wird jedoch auch eine C-Bibliothek angeboten. Zunächst müssen wir diese installieren, unter Debian/Ubuntu via apt-get …

ASP.NET Core SignalR hinter Nginx: Fix für „Requests with Connection: Upgrade cannot have content in the request body“

ASP.NET Core SignalR hinter Nginx: Fix für „Requests with Connection: Upgrade cannot have content in the request body“

ASP.NET Core bringt mit Kestrel einen minimalistischen Webserver mit. Dieser setzt den Fokus darauf, dynamische mit ASP.NET Core generierte Seiten möglichst effizient auszuliefern. Ganz anders sah es mit dem alten ASP.NET aus: Hier musste der sehr umfängliche IIS eingesetzt werden. Dies hatte Vor- und Nachteile. Der IIS war zwar recht komplex, konnte dafür aber mit …

Absolute Pfade in Batch und Bash-Skripten zum Aufruf aus anderen Ordnern heraus verwenden: Pfad des Skriptes statt Aufrufers ermitteln

Absolute Pfade in Batch und Bash-Skripten zum Aufruf aus anderen Ordnern heraus verwenden: Pfad des Skriptes statt Aufrufers ermitteln

Wenn man Skripte über den absoluten Pfad aufruft, müssen alle Aufrufe innerhalb des Skriptes ebenfalls absolut sein. Ansonsten funktioniert der Aufruf nur, sofern man zunächst in das Skriptverzeichnis wechselt und das Skript von dort ausführt. Je nach Anwendungszweck kann das passabel sein. Doch besser ist es, diesen Anwendungsfall direkt zu bedenken. Hierfür benötigt man nur …

PHP-Erweiterung php-ssh2 unter Docker installieren

Die PHP-Erweiterung php_ssh2 ermöglicht den Aufbau von SSH-Verbindungen aus PHP heraus. Sie kommt beispielsweise bei der ssh-key-authority zum Einsatz – ein Open Source Projekt von Opera, um SSH-Keys automatisiert auf Server zu verteilen. Leider wird die Bibliothek nur spärlich aktualisiert, wenngleich sie noch funktioniert. Allerdings gestaltet sich die Installation dadurch als etwas schwierig. In meinem …

Visual Studio hinter Proxy: Automatische Windows/Internet Explorer Proxyeinstellungen verwenden

Visual Studio hinter Proxy: Automatische Windows/Internet Explorer Proxyeinstellungen verwenden

Die Entwicklungsumgebung Visual Studio benötigt für verschiedene Zwecke Internetzugriff: Beispielsweise für den Paketmanager NuGet. Über ihn lassen sich Bibliotheken beziehen und verteilen. Aber für Aktualisierungen ist dies nötig, damit Visual Studio nach Updates suchen und diese herunterladen kann. Befindet man sich in einem Unternehmensnetzwerk mit Proxyserver, stellt das ein Problem dar. Ohne zusätzliche Konfiguration fragt …

Git: Nicht vorgemerkte Änderungen in neuen Branch verlagern

Git: Nicht vorgemerkte Änderungen in neuen Branch verlagern

Branches sind eine sehr praktische Funktionalität des Versionsverwaltungssystems Git: Man kann parallel an verschiedenen Funktionen arbeiten, die sich während der Entwicklung nicht beeinflussen. Dennoch lassen sich diese später zusammenführen. Stellen wir uns folgendes Szenario vor: Man entwickelt regulär an einem Projekt, beispielsweise im Entwicklungszweig. Es wurden bereits mehrere Dateien geändert. Nun soll ein Hotfix erstellt …

Zeitstempel in (ASP) .NET Core Anwendungen auf der Konsole anzeigen

Zeitstempel in (ASP) .NET Core Anwendungen auf der Konsole anzeigen

Die ILogger Schnittstelle ermöglicht das einfache Injizieren eines Loggers in jegliche Klasse. Durch das Protokollieren des Namespace ist stets klar, von welcher Komponente die Informationen stammen. In der appsettings.json können wir für jeden Namespace den Detailgrad einstellen. Dies geht bis hin zu Debug- und Tracelogs, die uns z.B. beim EntityFramework die SQL-Abfragen protokollieren. Das standardmäßig …

Browser Sync: ASP.NET Core automatisch neu laden in Visual Studio Code

Browser Sync: ASP.NET Core automatisch neu laden in Visual Studio Code

Browser Sync ist eine Funktionalität des klassischen Visual Studio: Wird eine Razor-Ansicht verändert und gespeichert, aktualisiert das Tool automatisch euer Browser-Fenster. Das händische Aktualisieren entfällt damit. Leider besitzt der quelloffene Visual Studio Code Editor bislang keine vergleichbare Funktionalität. Glücklicherweise lässt sich ein ähnliches Verhalten mit Browsersync umsetzen. So kommt ihr auch unter Linux in den …

Visual Studio Projekt als lokale NuGet Paketquelle einbinden

Visual Studio Projekt als lokale NuGet Paketquelle einbinden

Visual Studio kann während des Buildvorgangs automatisch ein NuGet-Paket erstellen. Im Ordner bin/Debug entsteht so eine .nupkg Datei, die dem Name der Projektmappe entspricht. Diese lässt sich – sowohl manuell als auch automatisiert – bereitstellen. Wahlweise auf NuGet.org oder einer selbst gehosteten Registry. Hierfür kommt beispielsweise ProGet in Frage. Für die finale Bereitstellung wird man …