Mandy S.: [GET] [POST] Request schlägt fehl! Bitte um Hilfe

Guten Morgen zusammen,
ich habe folgende Aufgabe:

Kunde tippt seine Daten ein und schickt sie an eine PERL ab (via POST),
die PERL verarbeitet die Daten und soll einen GET-Request an eine EXE (C#) schicken,
dise EXE gibt dann einen Response zurück.

Klingt einfach, ist es aber nicht (nicht für mich).

Ich habe es mit GET und POST probiert, beides klappt nicht.

use CGI;  
use LWP;  
use LWP::Simple;  
use HTTP::Headers;  
use HTTP::Request;  
use HTTP::Message;  
  
my $ua = new LWP::UserAgent;  
   $ua->agent("MudGuard/1.0");  
  
my $content = "WebKundenNr=$WebKundenNr&State=$State&GetData=$GetData&LandKurz=$country";  
my $contlen = length($content);  
  
my $req = HTTP::Request->new("POST", "https://www.XYZ.de/bl_checkout/GetData");  
   $req->header("content-length" => $contlen);  
   $req->header("content-type" => "application/x-www-form-urlencoded");  
   $req->header("content-encoding" => "iso-8859-1");  
   $req->content($content);  
  
my $res = $ua->request($req);  
  
print "Result Code: ".$res->code."\n\nResult Content: ".$res->content."\n\nResult Message: ".$res->message;  

Als Antwort bekomme ich folgendes:
Result Content: 500 Connect failed: connect: Connection refused; Connection refused

Result Message: Connect failed: connect: Connection refused; Connection refused

Wenn ich es mit GET versuche bekomme ich keinen Response:

use CGI;  
use LWP;  
use HTTP::Message;  
use LWP::Simple;  
  
$Response = LWP::UserAgent;  
$Url = "https://www.XYZ.de/bl_checkout/GetData?WebKundenNr=$WebKundenNr&State=$State&GetData=$GetData";  
$Response = get($Url);

Der Inhalt von $Response ist leer, ABER wenn ich die $Url mit gefüllten Werten im Firefox eingebe, bekomme ich einen Response, wie kommts?
z.B.: https://www.XYZ.de/bl_checkout/GetData?WebKundenNr=1234567890&State=4&GetData=FF93934FWEF828323234234FF
Was mache ich Falsch? Bin ein neuling in Perl... Danke!

  1. Hi,

    Als Antwort bekomme ich folgendes:
    Result Content: 500 Connect failed: connect: Connection refused; Connection refused

    Result Message: Connect failed: connect: Connection refused; Connection refused

    Der Ziel-Server mag deinen Request aus irgendwelchen Gründen nicht.
    Hast du Zugriff auf diesen? Dann konsultiere dessen Logfiles, und schau ggf. auch nach, was das verarbeitende Script für Bedingungen stellt.

    Der Inhalt von $Response ist leer, ABER wenn ich die $Url mit gefüllten Werten im Firefox eingebe, bekomme ich einen Response, wie kommts?

    Oftmals werden die Request-Header ausgewertet, um zu schauen, ob die Anfrage von einen "echten" Browser, oder einem Script kommt.
    Wenn letzteres auf Seiten des Ziels mehr oder weniger aktiv unterbunden wird - dann stellt sich erst mal die Frage, ob das Ziel mit deinem Vorgehen überhaupt einverstanden ist.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. Danke ChrisB.
      Das Thema ist erstmal durch, der Fehler lag wohl in der IT.

  2. [..] "https://www....

    Was LWP zusätzlich für https braucht, steht in der Doku.

    Hotte