AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fremdes C# Steuern

Ein Thema von achi 3.0 · begonnen am 25. Jul 2013 · letzter Beitrag vom 29. Jul 2013
Antwort Antwort
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#1

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 11:06
Laut der Doku ist das ein einfaches HTTP POST. Das müsstest Du mit Indy problemlos nachbauen können.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
achi 3.0

Registriert seit: 7. Nov 2008
Ort: Köln
32 Beiträge
 
Delphi 5 Professional
 
#2

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 11:13
Es wird doch auch eine DLL verwendet. Das wird doch seinen Grund haben. Ich werde es mal mit IdHTTP. Nur ist die frage an welche URL sende ich die Daten

IP 192.168.1.1
Location soll /flash/user/data sein.
Datei müsste in ein multipart/form Data stream gepackt werden

Hatte das mal mit ner FastNet komponente versucht und bin gescheitert.


@Furtbichler
Pillepalle sagt der experte leider bin ich keiner?

Gruß

Geändert von achi 3.0 (25. Jul 2013 um 11:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#3

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 11:20
Es wird doch auch eine DLL verwendet. Das wird doch seinen Grund haben.
Ja: Bequemlichkeit. Damit .NET Entwickler die ohne das GUI-Zeug direkt weiterverwenden können.

In der von Dir verlinkten Doku auf seite 6 steht drin, das in dem Namespace Yaskawa.IEC61131.RMI.Modules eine Klasse HttpUtility ist, und was die genau macht.

Schau Dir doch diese Assembly mal mit dem Tool dotPeek an und schau, was die macht. Die erzeugt vermutlich nur einen HttpRequest, setzt den auf Post, hängt dort das File dran und setzt den Pfad korrekt.

Das ganze ist vermutlich deutlich schneller und einfacher selber gebaut als sich hier mit Delphi / .NET Interop zu versuchen. Das ist gleich mal einige Größenordnungen komplexer. Das würde ich nicht anfangen wenn einfaches HTTP POST eines Files schon zu kompliziert ist.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org

Geändert von Phoenix (25. Jul 2013 um 11:20 Uhr) Grund: Formatierung angepasst.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.784 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 11:21
Hallo,

du kannst doch den TCP Traffic mit z.B. Wireshark tracen wenn Du das binary benutzt.
Es sollte sich dann doch feststellen lassen, welches Protokol verwendet wird und wo Daten abgelegt werden.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#5

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 11:28
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
achi 3.0

Registriert seit: 7. Nov 2008
Ort: Köln
32 Beiträge
 
Delphi 5 Professional
 
#6

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 12:20
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;
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#7

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 12:25
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
achi 3.0

Registriert seit: 7. Nov 2008
Ort: Köln
32 Beiträge
 
Delphi 5 Professional
 
#8

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 14:23
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")]
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 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