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
Seite 2 von 3     12 3      
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#11

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 12: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
 
#12

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 13: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.641 Beiträge
 
#13

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 13: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
 
#14

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 15: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
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#15

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 15:48
Kannst du die DLL hier anhängen, oder uns einen Download geben?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#16

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 15:50
Hier der Inhalt der HttpCSharp.dll
Das ist nur die AssemblyInfo.......
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
 
#17

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 16:08
Auf der ersten seite hab ich einen Zipordner angehängt da sind alle Dateien drin auch die exe. Hier die DLL HttpUtil.zip

Musste die Datei zippen. Anscheinend kann man hier keine DLL's hochladen.

Gruß
  Mit Zitat antworten Zitat
achi 3.0

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

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 16:13
Ups, habs jetzt gesehen. Da steht noch ne Menge anderer zeugs drin. Aber wie packe ich das in meine IdHttp komponente.

Gruß
  Mit Zitat antworten Zitat
achi 3.0

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

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 16:19
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: http://192.168.1.1/upload/data/cam



 
public string SendFileToUserDirectory(string ipAddress, string filePath, string directory)
{
HttpUtility.UpdateBoundary();
string uri = string.Format("http://{0}/upload/{1}/", (object) ipAddress, (object) directory);
string methodPostDataString = HttpUtility.CreateNonMethodPostDataString();
return this.PostUploadFile(filePath, uri, methodPostDataString, false);
}


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;

Geändert von achi 3.0 (25. Jul 2013 um 16:26 Uhr)
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#20

AW: Fremdes C# Steuern

  Alt 25. Jul 2013, 16:21
Die Methode hat drei Parameter:
ipAddress
filePath
directory

Code:
string uri = string.Format("http://{0}/upload/{1}/", (object) ipAddress, (object) directory);
Das beudetet im Prinzip, dass für {0} der Parameter ipAddress eingesetzt wird und für {1} der Parameter 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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 06:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz