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, 5385 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
Server

Php webseite in der shell mir url aufrufen

Frage von StefanKittelServer1 Kommentar

Hallo, ich habe hier einen Magento-Web-Store bei dem bei bestimmten URLs PHP abstürzt. Es betrifft nur ganz wenige URLs. ...

PHP

Große Files posten mit php

Frage von it4baerPHP7 Kommentare

Hallo, ich habe mal wieder eine Frage. Von einem bekannten habe ich eine Funktion welches Daten verarbeitet und diese ...

Informationsdienste

Aufruf von nachgelagerten URLs blockieren

Frage von mexxInformationsdienste6 Kommentare

Hallo, wir setzten einen Webfilter ein, der uns vor schadhaften Inhalt auf Webseiten schützt. Ich beobachte wie viele Webseiten ...

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, ...

Neue Wissensbeiträge
E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 1 TagE-Mail4 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 1 TagHyper-V

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 1 TagSicherheits-Tools1 Kommentar

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 1 TagServer-Hardware4 Kommentare

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Heiß diskutierte Inhalte
Windows Server
Mit der alten Domäneprofil anmelden ohne Server
gelöst Frage von SyosseWindows Server37 Kommentare

Hallo Jungs Folgendes Szenario: Ich habe bei einem sehr kleinen Unternehmen (2Personen) den Server migriert, soweit hat alles geklappt. ...

Sicherheits-Tools
Virenprogramm lässt Programme nicht starten
Frage von SurferGirlSicherheits-Tools23 Kommentare

Hallo, ich bin neu hier, ich hoffe ich habe die richtige Rubrik gewählt. Falls nicht, tut es mir leid. ...

Windows Server
SQL Server Instanz (Eplan) auf WIN 2008 RC2 Server frisst RAM ohne Limit
Frage von derinderinderinWindows Server17 Kommentare

Hallo Zusammen, Wir haben hier einen Windows 2008 RC2 Server. Darauf läuft ein SQL Server Express 2014 Version 12.0.4232.0. ...

Windows 10
Best Practice für Schulungsräume
Frage von Sn0wFoxWindows 1016 Kommentare

Hallo, leider bin ich auch nach langer Suche nicht auf eine zufriedenstellende Nicht-Cloud-Lösung gestoßen und wollte mal Fragen ob ...