php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.09.2008, 10:33  
Neuer Benutzer
 
Registriert seit: 23.07.2008
Beiträge: 7
loom613 befindet sich auf einem aufstrebenden Ast
Standard fsockopen mit https ohne curl und openssl

Hallo,

ich möchte die Ebay API ansprechen.
Ich bin bei strato und die Haben kein Curl und openssl eingerichtet.
Weigern sich auch es zu tun.

Ich bin gerade dabei mir die sentHttpRequest Methode umzubauen.
die Echos sind eher zu debugging zwecken drin.

PHP-Code:
public function sendHttpRequest($requestBody)
    {
        
//build eBay headers using variables passed via constructor
        
$headers $this->buildEbayHeaders();
        
        
//initialise a CURL session
        //$connection = curl_init();
        //set the server we are using (could be Sandbox or Production server)
        //curl_setopt($connection, CURLOPT_URL, $this->serverUrl);
        
        //stop CURL from verifying the peer's certificate
        //curl_setopt($connection, CURLOPT_SSL_VERIFYPEER, 0);
        //curl_setopt($connection, CURLOPT_SSL_VERIFYHOST, 0);
        
        //set the headers using the array of headers
        //curl_setopt($connection, CURLOPT_HTTPHEADER, $headers);
        
        //set method as POST
        //curl_setopt($connection, CURLOPT_POST, 1);
        
        //set the XML body of the request
        //curl_setopt($connection, CURLOPT_POSTFIELDS, $requestBody);
        
        //set it to return the transfer as a string from curl_exec
        //curl_setopt($connection, CURLOPT_RETURNTRANSFER, 1);
        
        //Send the Request
        //$response = curl_exec($connection);
        
        //close the connection
        //curl_close($connection);
        
        //return the response
        //return $response;
        
        
$host         "api.ebay.com";
  
$path         "/ws/api.dll";
  
$referer      "https://api.ebay.com/ws/api.dll";
  
$data_to_send $requestBody;
  
$x='';
  foreach(
$headers as $key=>$value)
    echo(
$value."<br/>\n");
  echo(
"<br/><br/><br/><br/>");
  echo(
$requestBody);  
    
  
$fp fsockopen("ssl://".$host443);//443
  //printf("Open!\n");
  
fputs($fp"POST $path HTTP/1.0\r\n");
  
fputs($fp"Host: $host\r\n");
  
fputs($fp"Referer: $referer\r\n");
  foreach(
$headers as $key=>$value)
    
fputs($fp$value."\r\n");
  
fputs($fp"Content-type: text/xml\r\n");
  
fputs($fp"Content-length: "strlen($data_to_send) ."\r\n");
  
//fputs($fp, "Connection: close\r\n\r\n");
    
fputs($fp"\r\n");
  
fputs($fp$data_to_send);
  
//printf("Sent!\n");
  
while(!feof($fp)) {
      
$x .= fgets($fp128);
  }
  
//printf("Done!\n");
  
fclose($fp);
    
    return
$x;
    } 
ich bekomme folgende Fehlermeldung
Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://api.ebay.com:443 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?)

hier die phpinfo
phpinfo()

Danke!
loom613 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.09.2008, 11:30  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was sollen wir dir jetzt anderes sagen als die Fehlermeldung?
SSL fehlt - anmachen! (oder neu kompilieren ...)
__________________
"Nobody is as smart as everybody" - Kevin Kelly
— The best things in life aren't things
phpdummi ist offline   Mit Zitat antworten
Alt 16.09.2008, 13:28  
Neuer Benutzer
 
Registriert seit: 23.07.2008
Beiträge: 7
loom613 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

wie gesagt ich bin bei strato. Die schalten a nichts an.
Geschweige denn kompilieren PHP neu.
Kann man das irgendwie zur laufzeit einbinden.

Gruss
loom613 ist offline   Mit Zitat antworten
Alt 16.09.2008, 13:40  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Es gibt zwar die Funktion dl() zum Einbinden von Modulen. Aber die wird sicherlich auch nicht zur Verfügung stehen.
David ist offline   Mit Zitat antworten
Alt 16.09.2008, 15:30  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Oha fgets mit fester Buffersize ist eigentlich nicht gut weil wenn der Socket nicht geschlossen wird läuft das immer ins Timeout ... ist zwar nicht sonderlich schlimm aber geht unnötig auf die Performance der Anwendung.

Lieber mit PHP: stream_get_meta_data - Manual die unreaded bytes for jeden Lese Zylkus holen und prüfen ob >=1 ... wenn 0 abbrechen bei 1 den Buffer nur für den nächsten Lesezyclus auf feste Größe von 128 setzen oder mehr jeh nachdem ansonsten die unreaded Bytes als Buffer verwenden.

Ist wesentlich performanter... oder gleich non-blocking Sockets verwenden aber in PHP nicht so empfehlenswert.
__________________
Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
HStev ist offline   Mit Zitat antworten
Alt 17.09.2008, 15:04  
Neuer Benutzer
 
Registriert seit: 23.07.2008
Beiträge: 7
loom613 befindet sich auf einem aufstrebenden Ast
Standard

Danke schonmal,

woher bekomme ich die Sourcen, die ich mit dl() einbinden muss?

Gruss
loom613 ist offline   Mit Zitat antworten
Alt 17.09.2008, 23:10  
Neuer Benutzer
 
Registriert seit: 23.07.2008
Beiträge: 7
loom613 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

ich habe jetzt folgendes geschrieben:

fsockopen( "api.ebay.com", 443, $errno, $errstr, 30);
bekomme mit is_resource() eine gütlige resource
kann das sein? (HTTPS)
Bekomme den request aber nicht zum laufen
loom613 ist offline   Mit Zitat antworten
Alt 18.09.2008, 09:12  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Läuft der Webserver bei dir Local? Wenn ja dann schau dir den Netzwerkverkehr an mit ethereal bzw. jetzt wireshark
__________________
Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
HStev ist offline   Mit Zitat antworten
Alt 18.09.2008, 09:29  
Neuer Benutzer
 
Registriert seit: 23.07.2008
Beiträge: 7
loom613 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

genau das ist ja der Haken. Wenn der Webserver bei mir lokal laufen würde hätte ich längst curl und openssl aktiviert.
Der Krempl läuft bei STRATO.
(übrigens ein premium account. dl() ist auch deaktiviert. Laut deren Aussage ist die einige möglichkeit curl und openssl zu aktivieren einen eigenen Server zu mieten.
Einen eigenen Server hole ich mir, wenn ich die Permormance und oder den Platz brauche, aber bestimmt nicht, weil ich dann eine winzige funktionalität mehr habe. Ich finde deren Geschäftsmethode: wir nerven dich solange und sperren einzelne Sachen bis du dir den Mega XXL Server 2000 Imperator holst einfach bescheiden )
loom613 ist offline   Mit Zitat antworten
Alt 18.09.2008, 15:04  
Neuer Benutzer
 
Registriert seit: 23.07.2008
Beiträge: 7
loom613 befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

ich habe es jetzt mal mit wget probiert. da haben sie auch die https unterstützung deaktiviert. Hat jemand noch andere Vorschläge Perl, CGI, bash shell ect...
loom613 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Frage zu fsockopen() Pennywise PHP Tipps 2008 2 27.07.2008 14:50
fsockopen - timeserver chinchiller PHP Tipps 2008 8 07.06.2008 11:15
änderung einer konfiguration mit curl emmi PHP Tipps 2008 12 08.02.2008 09:46
Datei Upload mit curl? R.E.M. PHP Tipps 2006 1 18.09.2006 20:44
fsockopen() - Problemdomains dragon1402 PHP Tipps 2006 9 30.08.2006 11:57
curl https cookies Ratte78 PHP-Fortgeschrittene 25 01.08.2006 13:20
https request funzt nicht bexxta PHP Tipps 2006 10 06.05.2006 10:03
fsockopen() Problem - weis nicht mehr weiter :( web2 PHP Tipps 2005-2 22 21.10.2005 15:31
Verbindungsaufbau via https und übermittlung via post reques MortakArtos PHP Tipps 2005-2 1 04.10.2005 08:03
Zufalls IP per Curl mitgeben Flor1an PHP Tipps 2005 4 04.05.2005 22:38
OpenSSL Server, Hosting und Workstations 4 13.02.2005 21:56
umschalten des http / https protokolls mit php ohne redirect PHP Tipps 2005 2 12.01.2005 15:29
[Erledigt] PHP nachträglich mit CURL Support ausstatten PHP-Fortgeschrittene 2 20.12.2004 16:19
fsockopen: while(!feof($fp)) dauert bei manchen Servern 15 s tapferesschneiderlein PHP-Fortgeschrittene 7 13.09.2004 18:47
Was bedeutet mit fsockopen: Resource id #2 PHP Tipps 2004 3 13.09.2004 17:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
strato fsockopen, fsockopen strato, unable to find the socket transport \https\, strato curl aktivieren, strato curl, unable to find the socket transport \ssl\, fsockopen ssl, fsockopen curl, curl fsockopen, strato php ssl, http://www.php.de/php-fortgeschrittene/47454-fsockopen-mit-https-ohne-curl-und-openssl.html, fsockopen aktivieren, openssl aktivieren, php post ohne curl, curl https, fsockopen https, „fsockopen“ oder „curl“ sind auf ihrem server deaktiviert!, unable to find the socket transport \ssl\ strato, strato unable to find the socket transport \ssl\, strato php openssl

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum