Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

POST per PHP und die URL danach aufrufen

Mitglied: ottscho

ottscho (Level 2) - Jetzt verbinden

15.10.2011 um 17:52 Uhr, 5424 Aufrufe, 10 Kommentare

Hallo,

ich habe einen Zahlungsanbieter, welche die Daten per POST übermittlen benötigt.
Als Beispiel gibt es dies hier:

01.
<?php
02.
	include("PlatiOnlineRo/clspo.php");
03.
	include("PlatiOnlineRo/RSALib.php");
04.
	$my_class = new PO3();
05.

06.
	$my_class->LoginID = "test";
07.
	$my_class->KeyEnc = $ke;
08.
	$my_class->KeyMod = $km;
09.

10.
	$my_class->amount = "1.00";
11.
	$my_class->currency = "RON";
12.
	$my_class->OrderNumber = "1";
13.
	$my_class->action = "2";
14.
	$ret = $my_class->InsertHash_Auth();
15.

16.
?>
17.

18.
	<form id="registerForm" autocomplete="off" method="post" action="https://url">
19.
		<?php echo $ret;?>
20.
		<input type="hidden" name="f_login" value="<?php echo $my_class->LoginID;?>">
21.
		<input type="hidden" name="f_show_form" value="1">
22.
		<input type="hidden" name="f_amount" value="<?php echo $my_class->amount;?>">
23.
		<input type="hidden" name="f_currency" value="<?php echo $my_class->currency;?>">
24.
		<input type="hidden" name="f_order_number" value="<?php echo $my_class->OrderNumber;?>">
25.
		<input type="hidden" name="F_Language" value="ro" >
26.
		<input type="hidden" name="F_Lang" value="ro">
27.
		<input type="hidden" name="f_order_string" value="<descriere">
28.
		<input type="hidden" name="f_first_name" id="f_first_name" value="">
29.
		<input type="hidden" name="f_last_name" id="f_last_name" value="">
30.
		<input type="hidden" name="f_cnp" value="-">
31.
		<input type="hidden" name="f_address" id="f_address" value="">
32.
		<input type="hidden" name="f_city" id="f_city" value="">
33.
		<input type="hidden" name="f_state" id="f_state" value="">
34.
		<input type="hidden" name="f_zip" id="f_zip" value="">
35.
		<input type="hidden" name="f_country" id="f_country" value="">
36.
		<input type="hidden" name="f_phone" id="f_phone" value="">
37.
		<input type="hidden" name="f_email" id="f_email" value="">
38.
		<input type="hidden" name="f_company" value="">
39.
		<input type="hidden" name="f_reg_com" value="">
40.
		<input type="hidden" name="f_cui" value="">
41.
<!-- daca e test mode START here -->
42.
		<input type="hidden" name="f_Test_Request" value="1">
43.
<!-- daca e test mode END here -->
44.
		<input type="submit" value="Plateste" />
45.
	</form>
Nun muss ich das aber in PHP machen. Soweit konnte ich mir helfen, aber ich weiß nicht wie ich nach dem übermittlen der Daten die URL öffnen kann:

01.
				
02.
$fp = fsockopen($host,80);
03.
fputs($fp, "POST $path HTTP/1.1\n" );
04.
fputs($fp, "Host: $host\n" );
05.
fputs($fp, "Content-type: application/x-www-form-urlencoded\n" );
06.
fputs($fp, "Content-length: ".strlen($data_to_send)."\n" );
07.
fputs($fp, "Connection: close\n\n" );
08.
fputs($fp, $data_to_send);
09.
fclose($fp);
Bin für jeden Tipp dankbar.
Mitglied: dog
15.10.2011 um 22:24 Uhr
Spar dir lieber die Bastelei mit fsock und nimm die cURL-Funktionen, das hat alle Funktionen schon die man braucht.
Bitte warten ..
Mitglied: ottscho
16.10.2011 um 15:39 Uhr
Danke, ich bin gerade dran. Aber mein Problem bleibt gleich.

Wie wechsle ich danach auf die Seite, so dass die Paramter benutzt werden?

01.
define('POSTURL', 'https://secure2.plationline.ro//trans30.asp');
02.
define('POSTVARS', 'f_login=DEMO&f_amount=1');  // POST VARIABLES TO BE SENT
03.
  
04.
 $ch = curl_init(POSTURL);
05.
 curl_setopt($ch, CURLOPT_POST      ,1);
06.
 curl_setopt($ch, CURLOPT_POSTFIELDS    ,POSTVARS.$Email);
07.
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION  ,1); 
08.
 curl_setopt($ch, CURLOPT_HEADER      ,0);  // DO NOT RETURN HTTP HEADERS 
09.
 curl_setopt($ch, CURLOPT_RETURNTRANSFER  ,1);  // RETURN THE CONTENTS OF THE CALL
10.
 $Rec_Data = curl_exec($ch);
11.
 
12.
 ob_start();
13.
 header("Content-Type: text/html");
14.
 $Temp_Output = ltrim(rtrim(trim(strip_tags(trim(preg_replace ( "/\s\s+/" , " " , html_entity_decode($Rec_Data)))),"\n\t\r\h\v\0 ")), "%20");
15.
 $Temp_Output = ereg_replace (' +', ' ', trim($Temp_Output));
16.
 $Temp_Output = ereg_replace("[\r\t\n]","",$Temp_Output);
17.
 $Temp_Output = substr($Temp_Output,307,200);
18.
 echo $Temp_Output;
19.
 $Final_Out=ob_get_clean();
20.
 echo $Final_Out;  
21.
 curl_close($ch);
22.

23.
 header("Location:https://secure2.plationline.ro//trans30.asp");
Nun lade ich zwar auf der Seite, an welche ich die POST Variablen geschickt habe, aber ohne Variablen!
Bitte warten ..
Mitglied: dog
16.10.2011 um 17:59 Uhr
Nun lade ich zwar auf der Seite, an welche ich die POST Variablen geschickt habe, aber ohne Variablen!

Was meinst du damit?
Bitte warten ..
Mitglied: ottscho
16.10.2011 um 18:09 Uhr
So sieht das Beispiel als HTML FORM aus.
01.
<html>
02.
<body>
03.
<?php
04.
	include("PlatiOnlineRo/clspo.php");
05.
	include("PlatiOnlineRo/RSALib.php");
06.
	$my_class = new PO3();
07.

08.
	$my_class->LoginID = "DEMO";
09.
	$my_class->KeyEnc = $ke;
10.
	$my_class->KeyMod = $km;
11.

12.
	$my_class->amount = "1.00";
13.
	$my_class->currency = "RON";
14.
	$my_class->OrderNumber = "1";
15.
	$my_class->action = "2";
16.
	$ret = $my_class->InsertHash_Auth();
17.

18.
?>
19.

20.
	<form id="registerForm" autocomplete="off" method="post" action="https://secure2.plationline.ro/trans30.asp">
21.
		<?php echo $ret;?>
22.
		<input type="hidden" name="f_login" value="<?php echo $my_class->LoginID;?>">
23.
		<input type="hidden" name="f_show_form" value="1">
24.
		<input type="hidden" name="f_amount" value="<?php echo $my_class->amount;?>">
25.
		<input type="hidden" name="f_currency" value="<?php echo $my_class->currency;?>">
26.
		<input type="hidden" name="f_order_number" value="<?php echo $my_class->OrderNumber;?>">
27.
		<input type="hidden" name="F_Language" value="ro" >
28.
		<input type="hidden" name="F_Lang" value="ro">
29.
		<input type="hidden" name="f_order_string" value="<descriere">
30.
		<input type="hidden" name="f_first_name" id="f_first_name" value="">
31.
		<input type="hidden" name="f_last_name" id="f_last_name" value="">
32.
		<input type="hidden" name="f_cnp" value="-">
33.
		<input type="hidden" name="f_address" id="f_address" value="">
34.
		<input type="hidden" name="f_city" id="f_city" value="">
35.
		<input type="hidden" name="f_state" id="f_state" value="">
36.
		<input type="hidden" name="f_zip" id="f_zip" value="">
37.
		<input type="hidden" name="f_country" id="f_country" value="">
38.
		<input type="hidden" name="f_phone" id="f_phone" value="">
39.
		<input type="hidden" name="f_email" id="f_email" value="">
40.
		<input type="hidden" name="f_company" value="">
41.
		<input type="hidden" name="f_reg_com" value="">
42.
		<input type="hidden" name="f_cui" value="">
43.
<!-- daca e test mode START here -->
44.
		<input type="hidden" name="f_Test_Request" value="1">
45.
<!-- daca e test mode END here -->
46.
		<input type="submit" value="Plateste" />
47.
	</form>
48.
</body>
49.
</html>
Klicke ich hier auf SUBMIT so öffnet sich die Seite https://secure2.plationline.ro/trans30.asp (zahlungsanbieter) und ich sehe ein spezielles Formular, welches schon mit den Daten welches ich per POST schicke gefüllt ist.

Nun habe ich aber nicht die Möglichkeit mit hidden From felder zu arbeiten und möchte das über curl machen. Mache ich das aber so wie oben gepostet, kommt die Fehlermeldung auf der Seite, dass keine post Variablen übermittelt werden.

Error !!!
Parameter F_Login is null
Bitte warten ..
Mitglied: dog
16.10.2011 um 18:20 Uhr
kommt die Fehlermeldung auf der Seite, dass keine post Variablen übermittelt werden.

Das stimmt ja auch.

Wenn du das mit PHP machst sendet dein Server ein POST.
Du sagst dann aber dem Client er soll die Seite per GET aufrufen:

01.
header("Location: https:/secure2.plationline.ro/trans30.asp");
Das sind für die Seite zwei völlig verschiedene Nutzer.
Bitte warten ..
Mitglied: ottscho
16.10.2011 um 19:53 Uhr
Ja, aber wie komme ich bei Post request auf die Zielseite?

Das verstehe ich nicht!

Mache ich es über das Formular in der html Seite, so lande ich ja auf der Zielseite.
Bitte warten ..
Mitglied: dog
16.10.2011 um 19:55 Uhr
Du musst dich entscheiden ob der Benutzer auf die Zielseite soll oder das ganze im Hintergrund über den Server ablaufen soll.
Bitte warten ..
Mitglied: ottscho
16.10.2011 um 20:06 Uhr
Der Benutzer muss auf die Zielseite, da dies die Zahlungseite des Zahlungsanbieter ist.
Und an diese muss ich eben die Post Variablennübermitteln, wie in dem Beispiel oben mit Formular.
Bitte warten ..
Mitglied: dog
16.10.2011 um 20:13 Uhr
Dann ist auch die einzige Möglichkeit die im Originalbeispiel.
Bitte warten ..
Mitglied: ottscho
16.10.2011 um 20:20 Uhr
Mhh, okay danke. Dann muss ich schauen, wie ich das mache.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
URL decodieren mittels Batch-Aufruf
gelöst Frage von GruenspechtBatch & Shell11 Kommentare

Habe aktuell ein Problem mit einer Batch-Datei unter DOS (CMD-Aufruf unter Win7/10): Ziel ist es, ein URL so umzuwandeln, ...

PHP
PHP: URL kürzen
Frage von michi-ffmPHP15 Kommentare

Hallo zusammen, es ist schon lange her und stehe auf dem Schlauch. Ich finde in Google nur wie man ...

Xenserver

Netscaler 11 - Aufruf der Store-Url statt Web-Url

Frage von cb1riderXenserver2 Kommentare

Hallo zusammen, vielleicht kann mir einer den letzten Tipp geben. Netscaler 11 Zugriff von Außen möglich Nach dem einloggen ...

PHP

URL Loggen mit PHP?

gelöst Frage von 1410640014PHP4 Kommentare

Hallo, hat wer ein fertiges PHP-Skript zur Hand, das nicht mehr können muss, als z.B. alle 20 Sekunden einen ...

Neue Wissensbeiträge
Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 1 TagInternet5 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 2 TagenWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 2 TagenWindows 102 Kommentare

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Sicherheit

Heise Beitrag Passwort-Sammlung mit 773 Millionen Online-Konten im Netz aufgetaucht

Information von Penny.Cilin vor 2 TagenSicherheit6 Kommentare

Auf Heise Online ist folgender Beitrag veröffentlicht worden: Heise Beitrag passwörter geleakt Ich bin mir jetzt nicht ganz sicher, ...

Heiß diskutierte Inhalte
TK-Netze & Geräte
TAPI auf einem Win2016Server installieren und einrichten
Frage von wstabelTK-Netze & Geräte32 Kommentare

Hallo liebe Admins, ich habe folgende Situation: 1 Windows Server 2016 Standard als DC 1 SNOM 710 IP-Telefon 1 ...

Batch & Shell
Mit findstr batch doppelte zeilen einer txt löschen
Frage von Burningx2Batch & Shell25 Kommentare

Hi Vor einer weile habe ich im netzt einen windows shell befehl gefunden mit welchem man über die konsole ...

Microsoft
Übertragung von MS Volumenlizenzen
Frage von SherlockineMicrosoft20 Kommentare

Ich bin Angestellte in einer kleinen 10-köpfigen IT-Firma, die Netzwerklösungen, Telefonielösungen und Ähnliches anbietet. Im Sommer hatten wir einen ...

Windows 10
Robocopy Quelle und Ziel vertauscht Daten gelöscht ?
Frage von eastclintwoodWindows 1020 Kommentare

Hallo, ich wollte Daten von einer extrernen Festplatte (USB) auf eine interne Platte per robocopy sichern. Leider habe ich ...