Einzelnen Beitrag anzeigen

Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#2

AW: Datei nach VirusTotal mittels Indy

  Alt 4. Jun 2011, 13:57
Wenn ich das richtig deute wird hier nicht nur die Url www.virustotal.com sondern auch noch https://www.virustotal.com/api/scan_file.json übergeben? Irgendwie blick ichs nicht!
Nein, du hast es nicht richtig verstanden.

Das erste ist keine URL, sondern ein Hostname. Dieser wird einfach in eine IP aufgelöst und beschreibt, wohin der folgende Datenverkehr gesendet wird. Da kann auch was ganz anderes stehen, zB. 74.53.201.162. Oder bei der DP kannst du www.delphipraxis.net, 88.198.53.15 oder danielwolf.eu schreiben. Alles der gleiche Host.

Was hier als "Selektor" bezeichnet wird vereint gleich mehrere Sache auf einmal, die du in Indy wahrscheinlich getrennt behandeln musst. So ist hier angegeben, dass du via verschlüsselter Verbindung (SSL) kommunizierst. Außerdem steht drin, welche s.g. "virtuelle Hostname" via HTTP an den Webserver übergeben wird. Dazu gleich mehr. Und dahinter steht die URI, also hier "/api/scan_file.json".

Der Verbindungsablauf selbst gestaltet sich dann, indem der Client eine SSL-gesicherte Verbindung zur IP hinter www.virustotal.com aufbaut. Danach sendet er (in etwa) folgende Daten zu diesem HTTP-Server. Hinter "Host: " steht dann auch der eben erwähnte virtuelle Hostname. Hier kannst du eintragen was immer du willst, trotzdem kommen die Daten zum gleichen Server der vorher als reeller Host angegeben wurde.

Code:
POST /api/scan_file.json
Host: www.virustotal.com
Content-Length: 15

key=abc&foo=bar
(hier fehlt jetzt natürlich noch der Datei-Upload)

Von Indy habe ich leider keine Ahnung. Aber du kannst davon ausgehen, dass du Protokoll, reellen und virtuellen Hostname und URI trennen musst. Ich vermute, dass aHost hier wirklich ein Host und keine URL sein sollte, also konkret "www.virustotal.com". Hier solltest du dir Beispiele für Bei Google suchenDateiupload mit Indy suchen. Ansonsten lohnt ein Blick auf die Funktionsweise des HTTP.

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog

Geändert von Valle ( 4. Jun 2011 um 14:00 Uhr)
  Mit Zitat antworten Zitat