rex_socket baut eine http- bzw. https-Verbindung zu einer Url oder Datei auf. Die Verbindung wird über die PHP-Klasserex_socket
hergestellt. Des Weiteren sind die Klassen rex_socket_proxy und rex_socket_response verfügbar.
try {
$socket = rex_socket::factory('www.example.com');
$socket->setPath('/url/to/my/resource?param=1');
$socket->setOptions([
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false
]
]);
$response = $socket->doGet();
if($response->isOk()) {
$body = $response->getBody();
}
} catch(rex_socket_exception $e) {
//error message: $e->getMessage()
}
factory($host, $port, $ssl)
Baut eine Socket-Instanz auf, die URL wird anschließend über 'setUrl()' übergeben
factoryUrl($url)
Baut eine Socket-Instanz direkt mit einer URL auf.
setPath($path)
Übergibt den kompletten Pfad bei der Verbindung über rex_socket::factory()
setOptions(array $options)
Es können alle Kontextoptionen aus PHP (z.B. bindto, backlog, ipv6_v6only, so_reuseport, so_broadcast, tcp_nodelay) werden (https://www.php.net/manual/de/context.php)
setTimeout($timeout)
Übergibt die gewünschte Timeout-Zeit in s oder ms
addBasicAuthorization($user, $password)
Setzt einen Header mit Benutzername und Passwort zur Authentifizierung an einem geschützten Server
addHeader($key, $value)
Setzt die gewünschten Header im $key, $value
Format. Zum Beispiel addHeader('User-Agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 12.4; rv:101.0) Gecko/20100101 Firefox/101.0')
doRequest($method, $data)
Setzt den Request ab. Für get
, post
und delete
gibt es alternativ eigene Methoden.
doGet()
Setzt einen Get-Request ab.
followRedirects($redirects)
Übergibt die Anzahl der Redirects der gefolgt werden soll bevor die Verbindung abgebrochen wird.
doPost($data, array $files)
Setzt einen Post-Request ab. Der Inhalt des Bodys kann als string, array oder callback übergeben werden. Dateien (mit Dateityp) können als Array übergeben werden.
doDelete()
Setzt ein Delete-Request ab.