![]() |
AW: Fremdes C# Steuern
Das geht doch alles aus dem Dokument hervor. Es ist ein einfaches HTTP Post. Da brauchts kein Wireshark. Das ist vermutlich deutlich zu komplex. Da würde es genügen, sich kurz mit Fiddler als HTTP-Proxy dazwischen zu klemmen und zu gucken auf welchen Pfad der Request geht, welches Encoding benutzt wird und ob ggf. neben dem File sonst noch zusätzliche Felder mitgesendet werden.
|
AW: Fremdes C# Steuern
Hallo,
werde mal mit Wireshark versuchen den Pfad an den die Daten geschickt werden usw. rauszubekommen. Dann kann ich ja den unten stehenden code anpassen und versuchen die Daten zu senden oder?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var DataStream : TIdMultiPartFormDataStream; URL : string; response : string; begin URL := '192.168.1.1/flash/user/data'; IdHTTP1.Request.CacheControl:='no cache'; IdHTTP1.Request.ContentType :='multipart/form-data'; try DataStream := TIdMultiPartFormDataStream.Create; DataStream.AddFile('file','c:\Yaskawa\Cam_Y.csv', 'multipart/form-data'); response := IdHTTP1.Post(URL, DataStream); DataStream.Free; except end; end; |
AW: Fremdes C# Steuern
Vielleicht heisst das Feld für das File auch nicht unbedingt file. Musst halt mal rein gucken. Also entweder mit dotPeek in die dll oder mit Wireshark / Fiddler in die Kommunikation. Das erstere ist meiner Meinung nach das einfachste weil schnellste und unkomplizierteste.
|
AW: Fremdes C# Steuern
Also habe mal mit dotPeek die DLL decompiliert. Werde daraus aber nicht schlau, keine hilfreiche info wie ich finde aber vielleicht sieht ihr was?
Hier der Inhalt der HttpCSharp.dll
Delphi-Quellcode:
using System.Diagnostics;
using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // Assembly HttpCSharp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null // MVID: 58ebf0ab-8e1a-4c99-97b5-f9d1226feecb // References: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // References: System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // References: System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // References: HttpUtil, Version=2.0.1.1, Culture=neutral, PublicKeyToken=d7bba6a0fdc5f725 // References: System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Yaskawa")] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: AssemblyTitle("HttpCSharp")] [assembly: AssemblyDescription("HttpUtil Library C# Test Application")] [assembly: AssemblyProduct("HttpCSharp")] [assembly: AssemblyCopyright("Copyright © Yaskawa America, Inc. 2011")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("b21abef5-0ace-4c65-b49f-915debf72ad8")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: CompilationRelaxations(8)] [assembly: AssemblyVersion("1.0.0.0")] |
AW: Fremdes C# Steuern
Kannst du die DLL hier anhängen, oder uns einen Download geben?
|
AW: Fremdes C# Steuern
Zitat:
|
AW: Fremdes C# Steuern
Liste der Anhänge anzeigen (Anzahl: 1)
Auf der ersten seite hab ich einen Zipordner angehängt da sind alle Dateien drin auch die exe. Hier die DLL Anhang 39643
Musste die Datei zippen. Anscheinend kann man hier keine DLL's hochladen. Gruß |
AW: Fremdes C# Steuern
Ups, habs jetzt gesehen. Da steht noch ne Menge anderer zeugs drin. Aber wie packe ich das in meine IdHttp komponente.
Gruß |
AW: Fremdes C# Steuern
Das hier müsste man entschlüsseln. Was bedeutet hier "http://{0}/upload/{1}/"
Wahrscheinlich steht {0} für die ip und {1} für directory also müsste die url wie folgt lauten: ![]()
sollte doch so funktionieren oder muss ich auf noch etwas achten????
Delphi-Quellcode:
var
DataStream : TIdMultiPartFormDataStream; FURL : string; response : string; begin FURL := 'http://192.168.1.1/upload/data/cam'; IdHTTP1.Request.CacheControl:='no cache'; IdHTTP1.Request.ContentType :='multipart/form-data'; try DataStream := TIdMultiPartFormDataStream.Create; DataStream.AddFile('archive','c:\Yaskawa\Cam_Y.csv', 'multipart/form-data'); response := IdHTTP1.Post(FURL, DataStream); DataStream.Free; except end; end; |
AW: Fremdes C# Steuern
Die Methode hat drei Parameter:
ipAddress filePath directory
Code:
Das beudetet im Prinzip, dass für {0} der Parameter ipAddress eingesetzt wird und für {1} der Parameter directory
string uri = string.Format("http://{0}/upload/{1}/", (object) ipAddress, (object) directory);
edit: je nachdem wie fit du in C# bist, würde ich an deiner Stelle die C#-Bibliothek einfach nach Delphi übersetzen... Das ist relativ schnell gemacht, wenn man den C#-Code lesen und mit Delphi umgehen kann |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz