Frohe Weihnachten Alex,
doch wie kann ich einen 'https' host korrekt 'anposten'?
generell bietet PHP zwei unterschiedliche Möglichkeiten der SSL-/TLS-Unterstützung an:
PHP wurde mit cURL übersetzt
(--with-curl --with-curlwrappers), wobei cURL selbst mit openssl kompiliert wurde
PHP wurde mit openssl übersetzt
(per default und [somit] in den meisten Fällen verfügbar)
Diese Informationen kannst Du durch Aufruf von phpinfo()
unter "Configure Command" ablesen.
Für den eher unwahrscheinlichen Fall, daß Du PHP in der Version 5.1.x installiert hast, kannst Du folgendes Script an Deine Bedürfnisse anpassen:
/** Voraussetung ist für dieses Beispiel ein Installation mit openssl */
function post_req(){
# [link:http://www.php-faq.de/q/q-code-post.html]
}
$host='www.weiss-ich.net';
if(is_resource($s=@stream_socket_client('tcp://'.$host,$en,$es,2))){
if(stream_socket_enable_crypto($s,true,STREAM_CRYPTO_METHOD_SSLv23_CLIENT)){
post_req();
}
fclose($s);
}
else{
mach_was_mit($en,$es);
}
Weiterhin besteht noch die Möglichkeit einen eigenen "Context" zu registrieren, um POST-Daten zu versenden stream_context_create(). (Damit habe ich mich selbst noch nicht mit befaßt.)
Andernfalls könnte cURL (curl_setopt()) für Dich die Wahl sein.
Gruß aus Berlin!
eddi
Ja - ich gebe manchmal Lösungen auf dem silbernen Tablett und
Nein - sie werden dennoch nicht den Schlag vor den Kopf mit dem goldenen abwehren ;)