![]() |
Indy post Problem
hallo ...
ich möchte ein bild an den bilderhost ![]() DataStream := TIdMultiPartFormDataStream.Create; DataStream.AddFile('file', Datei, 'multipart/form-data'); stringvar := idHTTP.Post('http://www.imagecrate.de/index.php?page=upload', DataStream); .... führe ich diesen code aus, komme ich lediglich wieder auf die seite inde.php und die datei ist weder hochgeladen, noch kann ich den link auslesen, da kein source vorhanden ist. bei anderen scripts funktioniert das jedoch super - einziger unterschied: es gibt kein "?page=upload", was daher anscheinend das problem mit indy verursacht. handleredirects ist an und auch die request daten habe ich angepasst (host, referer ect.) - trotzdem bleibt der erfolg aus :< ... wer kann mir helfen ? es muss doch zu machen sein ein bild dort hochzuladen und die seite mit den links zu bekommen. |
Re: Indy post Problem
Hallo.
Kenne diesen Image-Dienst nicht, daher kann ich darüber nichts berichten. Problematisch sehe ich aber die GET/POST-Mischung (die bei manchen HTML-Formularen auch Probleme macht). Ein GET-Request sieht so aus: ![]() Bei PHP hast du dann $_GET['foo'] = 'bar'. Bei einem POST-Request werden die Daten ja nicht über die Request-URL an den Server gereicht. In PHP wäre dann die Variable $_POST['foo'] = 'bar' und nicht $_GET['foo'] gesetzt. Führst du nun aber einen POST-Request mit ![]() Probiere doch mal, page=upload als POST anstelle von GET mitzusenden. Du würdest also ein POST-Request an ![]() Wenn das nicht geht, lade dir einen Packet-Logger (ich empfehle ![]() Gruß blackdrake |
Re: Indy post Problem
Hi.
Zitat:
Hänge aber mal ein
Delphi-Quellcode:
an. Das wird zumindest beim manuellen Senden mitgeschickt.
DataStream.AddFormField('upload', '1');
Gruß, Björn |
Re: Indy post Problem
Zitat:
Allgemein sollte man aber die künstliche Anfrage möglichst realitätsgetreu (siehe TCP/IP-Sniffer Hinweis) gestalten, falls sich auf der Serverseite die Sicherheits-/SPAM-Vorkehrungen verschärfen. Zitat:
Gruß blackdrake |
Re: Indy post Problem
Hallo.
Zitat:
Zitat:
Ich werde mir morgen früh den Sniffer besorgen und mal sehen, ob ich weiter komme. Danke für die Hilfe :hi: Gruß. |
Re: Indy post Problem
Habs hinbekommen.
Der Server mag als ContentType wohl kein 'multipart/form-data', von wegen nicht unterstütztes Dateiformat. Nimm einfach 'image/jpeg', dann gehts. ;) |
Re: Indy post Problem
Und wenn es kein JPEG ist (sondern PNG, GIF)? Vielleicht hat Indy kein Filename mitgegeben, mitdessen der Server die Erweiterung ".jp(e)g" ablesen konnte?
|
Re: Indy post Problem
Zitat:
|
Re: Indy post Problem
Zitat:
|
Re: Indy post Problem
Wer sagt, dass der Browser 'multipart/form-data' sendet?
Habe eben ein gif hochgeladen und es wurde 'image/gif' gesendet, allgemein lässt sich höchstwahrscheinlich also sagen 'image/' + erlaubter Dateityp. Dieses Verhalten ist auch das einzig (mir) einleuchtende, denn wie sonst soll der Server überprüfen, ob es sich bei dem gesendeten Inhalt um ein erlaubtes Dateiformat handelt? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:05 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