php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack (1) Themen-Optionen Bewertung: Bewertung: 4 Stimmen, 5,00 durchschnittlich.
  1 links from elsewhere to this Post. Click to view. #1 (permalink)  
Alt 13-05-2009, 15:40
petro_0
 Registrierter Benutzer
Links : Onlinestatus : petro_0 ist offline
Registriert seit: Jan 2006
Ort: Fürth
Beiträge: 175
petro_0 ist zur Zeit noch ein unbeschriebenes Blatt
Standard fsockopen und https

Hallo Zusammen,

ich sitze jetzt seit einigen Std. an einer fsockopen Verbindung per https.
Ich bekomme es leider nicht hin.

Ich muss eine Schnittstelle ansprechen die aktuell noch auf http läuft, aber bald auf https umgestellt wird.
Bisher fake ich eine POST per htpps. Die xml Soap Schnittstelle wird damit wunderbar abgefragt.

Aber https will nicht.

Hier mein aktuelle Versuch.

Wer kann mir helfen?

PHP-Code:
$fp fsockopen("https://deapvxx4/arsys/services/ARService"8097); 
Die eigentlichr URL ist: https://deapvxx4:8097/arsys/services...IncidentReader

Fehlermedlung:

Warning: fsockopen() [function.fsockopen]: unable to connect to https://deapvxx4/arsys/services/ARService:8097 (Unable to find the socket transport "https" - did you forget to enable it when you configured PHP?) in /home/g/public_html/cyper//classes/post_request.class.php on line 108

Über denn Browser komme ich hin, muss halt das Zertifikat akzeptieren...

Info!Nein die Seite ist nicht im Netz und ja die Seite und den Server gibt es...Fa. intern.


Danke.
__________________
gruss pedro

Mit Zitat antworten
  #2 (permalink)  
Alt 13-05-2009, 15:49
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

1. fsockopen("https://deapvxx4/arsys/services/ARService", 8097);
Mache dich kundig, was das fsockopen überhaupt für Protokolle mag.
z.B. udp, ja aber http oder https, nein.


Warum nicht einfach mit file_get_contents()?
Und ja (bevor die Frage kommt) auch damit kann man POST Requests absetzen.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #3 (permalink)  
Alt 13-05-2009, 15:53
petro_0
 Registrierter Benutzer
Links : Onlinestatus : petro_0 ist offline
Registriert seit: Jan 2006
Ort: Fürth
Beiträge: 175
petro_0 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mmhhh dachte hätte was gelesen von fsockopne und https...

file_get_contents... gut ich teste...

melde mich wieder sobald erfolgt.

Danke erstmal
__________________
gruss pedro

Mit Zitat antworten
  #4 (permalink)  
Alt 13-05-2009, 17:33
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Nutze doch den HttpClient des Zend Frameworks. Bevor du das tausendste Mal einen Zugriff auf Http nachimplementierst.
Mit Zitat antworten
  #5 (permalink)  
Alt 13-05-2009, 18:43
frodenius
 Registrierter Benutzer
Links : Onlinestatus : frodenius ist offline
Registriert seit: Sep 2006
Ort: Germany, Frankfurt/Main
Beiträge: 156
frodenius ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich werf einfach mal curl in die diskussion.
__________________
blllubb
Mit Zitat antworten
  #6 (permalink)  
Alt 13-05-2009, 19:40
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von petro_0 Beitrag anzeigen
Hallo Zusammen,

ich sitze jetzt seit einigen Std. an einer fsockopen Verbindung per https.
Ich bekomme es leider nicht hin. (...)

Hier mein aktuelle Versuch.

Wer kann mir helfen?

PHP-Code:
$fp fsockopen("https://deapvxx4/arsys/services/ARService"8097); 
Die eigentlichr URL ist: https://deapvxx4:8097/arsys/services...IncidentReader
Wie wärs am Anfang mit ein wenig "RTFM"? ;-)

Schau doch einfach mal ins PHP-Handbuch, wie die Funktion fsockopen() richtig benutzt wird. Was ist an
Code:
resource fsockopen ( string $hostname [, int $port= -1 [, int &$errno [, string &$errstr [, float $timeout= ini_get("default_socket_timeout") ]]]] )
so missverständlich, dass du auf die Idee kommst, einfach eine URL hinzuwerfen und zu hoffen, dass fsockopen() dir das Ergebnis eines HTTP-Requests liefern würde?

Die Funktion will einen Host-Namen und eine Port-Nummer. Zu der so definierten Ressource öffnet sie eine Verbindung. Mehr nicht. Du kannst dir natürlich deinen eigenen HTTP-Client bauen, dabei lernst du eine Menge. In dem Fall würde ich an deiner Stelle erst einmal versuchen, eine unverschlüsselte Verbindung hinzubekommen. Wenn du das geschafft hast, können wir nochmal über das SSL-Zeug reden. ;-)

Aber ich würde in der Tendenz eher den anderen Postern zustimmen: Such dir was Fertiges. Es gibt file_get_contents(), die CURL-Extension, diverse Frameworks bieten fertige Klassen an und auch PEAR oder phpclasses.org haben sicher was Brauchbares zu bieten.
Mit Zitat antworten
  #7 (permalink)  
Alt 13-05-2009, 22:53
petro_0
 Registrierter Benutzer
Links : Onlinestatus : petro_0 ist offline
Registriert seit: Jan 2006
Ort: Fürth
Beiträge: 175
petro_0 ist zur Zeit noch ein unbeschriebenes Blatt
Smile

guten abend,

entschuldigung für das kleine missverständnis.

natürlich habe ich noch mehr code...
ich wollte nur einen kleine tip in die richtige richtung.
ich weis was fsockopen macht... danke aber trotzdem

pe http geht...wunderbar...
aber eben https nicht;o(
bisher habe ich das eben noch nciht per fsockopen versucht...
scheint auch nciht so einfach zu gehen/sein.

ich bin nun dran es per php soap zu versuchen
da habe ich schon gute erfahrungen gemacht...

zend geht nicht...auf unseren server läuft noch nicht die ab 5.xxx version die nötig ist... und zend zu nutzen...

aber ich sollte mir doch nochmal die soap pear extension anschauen...

aber um nochmal auf den curl zu kommen...

kann ich eine POST auf eine SOAP Schnittstelle über curl machen?
ich glaueb kaum oder?

klar ok wer spricht schon eine SOAP Schnittstelle über einen gefaken Post...aber naja aber es geht....


Ich bin offen für eine kleine diskusssion
__________________
gruss pedro

Mit Zitat antworten
  #8 (permalink)  
Alt 13-05-2009, 23:35
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von petro_0 Beitrag anzeigen
guten abend,

entschuldigung für das kleine missverständnis.

natürlich habe ich noch mehr code...
Warum zeigst du uns dann falschen Quellcode in Zusammenhang mit einer PHP-Fehlermeldung?

Zitat:
ich wollte nur einen kleine tip in die richtige richtung.

Zitat:
ich weis was fsockopen macht... danke aber trotzdem

pe http geht...wunderbar...
aber eben https nicht;o(
Die Benutzerkommentare zur Funktion sagen etwas anderes:

http://php.net/manual/en/function.fsockopen.php#34887
http://php.net/manual/en/function.fsockopen.php#57275 [1]
http://php.net/manual/en/function.fsockopen.php#75388
http://php.net/manual/en/function.fsockopen.php#84599

Zitat:
bisher habe ich das eben noch nciht per fsockopen versucht...scheint auch nciht so einfach zu gehen/sein.
So lange du deine Versuche geheimhältst, kann man darüber nur spekulieren.


--
[1] Sorry übersehen: Hier wird tatsächlich file() verwendet.

Geändert von fireweasel (14-05-2009 um 12:31 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 14-05-2009, 09:34
petro_0
 Registrierter Benutzer
Links : Onlinestatus : petro_0 ist offline
Registriert seit: Jan 2006
Ort: Fürth
Beiträge: 175
petro_0 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Guten Morgen,

ich wollte natürlich nichts vorenthalten.
ich dachte lediglich, dass man schon mit dem fsockopen was anfangen kann.
in meinem fall.

....siehe da https und fsockopen geht ja doch... laut php.net kommentaren. danke,

ich finde diesen PHP: fsockopen - Manual recht vielversprechend , ich werds versuchen.

nebenbei versuch ich es auch nict php soap...

Danke erstmal für die Hilfe
__________________
gruss pedro

Mit Zitat antworten
  #10 (permalink)  
Alt 14-05-2009, 09:39
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
....siehe da https und fsockopen geht ja doch... laut php.net kommentaren. danke,
ich finde diesen PHP: fsockopen - Manual recht vielversprechend ,
Das Beispeil verwendet nicht fsockopen, sonden file(), ist also auch auf file_get_contents() anwendbar.

Aber nicht auf fsockopen()
__________________
Wir werden alle sterben
Mit Zitat antworten
  #11 (permalink)  
Alt 14-05-2009, 12:45
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von combie Beitrag anzeigen
Das Beispiel verwendet nicht fsockopen, sonden file(), ist also auch auf file_get_contents() anwendbar.
Da du anscheinend file_get_contents() als HTTP-Client-Ersatz in dein Herz geschlossen hast:

Zitat:
Und ja (bevor die Frage kommt) auch damit kann man POST Requests absetzen.
Über den context-Parameter und stream_context_create()? Oder gibts da noch eine einfachere Möglichkeit?
Mit Zitat antworten
  #12 (permalink)  
Alt 14-05-2009, 13:43
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Ins Herz geschlossen?
Nööö...
Das Posting des TE ist nur falsch, oder zumindest verwirrend und das wollte ich klären.
Und ja: "Über den context-Parameter"


Wie ich es machen würde?
Ein SOAP Schnittstelle würde ich natürlich über die PHP SOAP Klasse ansprechen. Warum was anderes nehmen....?
Evt. auch über Zend_Soap_Client

Lautet die Frage POST+HTTPS, dann wohl cURL.
Für quick and dirty Sachen auch mal snoopy.

Fsockopen nur im Notfall. Das ist mir meist zu "low level".
__________________
Wir werden alle sterben
Mit Zitat antworten
  #13 (permalink)  
Alt 14-05-2009, 13:46
petro_0
 Registrierter Benutzer
Links : Onlinestatus : petro_0 ist offline
Registriert seit: Jan 2006
Ort: Fürth
Beiträge: 175
petro_0 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

so nun hab ich mal meinen code benommen und stell ihn euch hier zum anschauen bereit.

Als Rückmeldung bekomme ich immer ein Connection Timeout:

Wer weis Rat:

PHP-Code:
<?php
#https://deap:8097/arsys/services/Service?server=deap&webService=o2_IncidentReader

#$proxy = "proxy.de.pri.o2.com";
#$port = 8080;

$proxy 'deap'
$port 443#8097 443

//fsockopen:
$fp fsockopen('ssl://'.$proxy$port$errno$errstr15);

if (!
$fp) {
    echo 
"$errstr ($errno)<br />\n";
} else {
    
//$raw array für header
    
$raw = array();
    
$raw[] = "POST https://{$proxy}:8097/arsys/services/ARService?server=deap&
webService=o2_IncidentReader HTTP/1.1\r\n"
;
    
$raw[] = "Content-Type: text/xml;charset=UTF-8\r\n";
    
$raw[] = "SOAPAction: \"urn:o2_IncidentReader/OpGetIncident\"\r\n";
    
//Standard Proxy
    
$raw[] = "Host: {$proxy}\r\n";
    
#$raw[] = "Host: deap:8097/arsys/services/ARService\r\n";
    //data array für post daten
    
$data = array();
    
$data[] = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:o2_IncidentReader\">\r\n";
    
$data[] = "<soapenv:Header>\r\n";
    
$data[] = "<urn:AuthenticationInfo>\r\n";
    
$data[] = "<urn:userName>xxx</urn:userName>\r\n";
    
$data[] = "<urn:password>xxx</urn:password>\r\n";
    
$data[] = "</urn:AuthenticationInfo>\r\n";
    
$data[] = "</soapenv:Header>\r\n";
    
$data[] = "<soapenv:Body>\r\n";

    
/// zu sendende Daten///
    
$data[] = "<urn:OpGetIncident>\r\n";
    
$data[] = "<urn:Request-ID>00000071</urn:Request-ID>\r\n";
    
$data[] = "</urn:OpGetIncident>\r\n";
    
/// //////////////////

    
$data[] = "</soapenv:Body>\r\n";
    
$data[] = "</soapenv:Envelope>\n";
    
// Die Länge brauchen wir für Content-Length
    
$l 0;
    foreach(
$data as $d
        
$l += strlen($d);
        
    
$raw[] = "Content-Length: ".$l."\r\n";
    
$raw[] = "Connection: close\r\n";
    
$raw[] = "\r\n";

    foreach(
$raw as $r) {
        
fputs ($fp$r);
    }
    foreach(
$data as $r) {
        
fputs ($fp$r);
    }
    while(!
feof($fp)) {
        
$preTEXT fgets($fp$l);
        
//wird benötigt um den $preTEXT noch weiter verarbeiten zu können,
        // nach dem fgets...
        
$request $request $preTEXT;
    }
    
fclose ($fp);

    
print_r($request);
}

?>
__________________
gruss pedro

Mit Zitat antworten
Antwort

Lesezeichen


LinkBacks (?)
LinkBack to this Thread: https://www.php-resource.de/forum/php-developer-forum/96443-fsockopen-und-https.html
Erstellt von For Type Datum
MetaGer, Suche nach: php fsockopen https This thread Refback 02-05-2014 13:09

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
https://domain auf https://www.domain umleiten OliOli Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) 12 23-05-2009 12:56
socket_create und SSL/HTTPS dj-marty PHP Developer Forum 8 19-08-2007 21:03
HTTPS erzwingen?! FRAD Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) 11 05-02-2007 15:55
https post? hibatsu PHP Developer Forum 5 09-02-2004 23:03
SSL-Verbindung (https) MITI PHP Developer Forum 5 19-10-2001 10:23

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:56 Uhr.