Maison > développement back-end > tutoriel php > Introduction aux fonctions PHP — fsockopen() : Ouvrir une connexion réseau

Introduction aux fonctions PHP — fsockopen() : Ouvrir une connexion réseau

PHPz
Libérer: 2023-07-24 21:50:01
original
2061 Les gens l'ont consulté

Introduction à la fonction PHP — fsockopen() : Ouvrir une connexion réseau

La fonction fsockopen() est une méthode en PHP utilisée pour ouvrir une connexion réseau. Il nous permet de communiquer avec des serveurs distants via le protocole TCP/IP, d'envoyer des requêtes et d'obtenir des réponses. Dans cet article, nous présenterons en détail la fonction fsockopen() et fournirons des exemples de code pour aider les lecteurs à comprendre et à utiliser la fonction.

  1. Syntaxe de la fonction :
resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )
Copier après la connexion
  1. Paramètres de la fonction :
  2. $hostname : L'adresse de l'hôte cible à connecter, qui peut être une adresse IP ou un nom de domaine.
  3. $port : Paramètre facultatif, spécifiez le numéro de port de l'hôte cible à connecter. La valeur par défaut est -1, ce qui signifie utiliser le numéro de port par défaut.

Les paramètres suivants sont facultatifs (peu couramment utilisés) :

  • &$errno : lorsque la connexion échoue, définissez la variable référencée sur un code d'erreur.
  • &$errstr : Lorsque la connexion échoue, définissez la variable référencée sur le message d'erreur.
  • $timeout : Paramètre facultatif, spécifiant le délai d'expiration de la connexion en secondes. La valeur par défaut est ini_get("default_socket_timeout"), qui correspond par défaut au délai d'expiration du socket défini dans la configuration PHP.
  1. Valeur de retour de la fonction :
  2. En cas de succès, un descripteur de ressource contenant des informations de connexion est renvoyé, qui peut être utilisé par d'autres fonctions.
  3. En cas d'échec, renvoyez false.
  4. Exemple d'utilisation de la fonction :

Ce qui suit est un exemple d'utilisation de la fonction fsockopen() pour obtenir le contenu d'un site Web distant :

<?php
// 定义目标服务器地址和端口号
$hostname = 'www.example.com';
$port = 80;

// 打开一个网络连接
$fp = fsockopen($hostname, $port, $errno, $errstr, 10);

// 连接失败时输出错误信息
if (!$fp) {
    echo "Connection failed: $errno - $errstr";
    exit;
}

// 发送 HTTP 请求头
$request = "GET / HTTP/1.1
";
$request .= "Host: $hostname
";
$request .= "Connection: close

";
fwrite($fp, $request);

// 读取响应并输出
while (!feof($fp)) {
    echo fgets($fp, 128);
}

// 关闭连接
fclose($fp);
?>
Copier après la connexion

Le code ci-dessus crée une connexion avec le serveur cible via la fonction fsockopen() , puis envoie un simple HTTP. Une requête GET a été effectuée et la réponse a été lue. Dans cet exemple, l'hôte que nous avons spécifié est www.example.com et le port est 80, qui est le port par défaut du protocole HTTP. Les champs Hôte et Connexion sont définis dans l'en-tête de la requête, puis la requête est envoyée au serveur via la fonction fwrite(). Enfin, la réponse est lue en continu via la fonction fgets() et émise via echo.

Il convient de noter que si vous souhaitez ouvrir une connexion cryptée SSL, vous pouvez utiliser "ssl://" comme préfixe du nom d'hôte et spécifier le numéro de port approprié (généralement 443).

Résumé : La fonction
fsockopen() est un outil puissant en PHP pour ouvrir des connexions réseau. Il nous permet de communiquer avec des serveurs distants, d'envoyer des demandes et d'obtenir des réponses. Dans cet article, nous présentons la syntaxe et les paramètres de la fonction fsockopen() et fournissons un exemple de code montrant comment l'utiliser. En maîtrisant et en utilisant de manière flexible la fonction fsockopen(), nous pouvons mieux gérer et gérer les communications réseau.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal