Cet article présente principalement la solution pour définir le délai d'attente pour PHP demandant une adresse distante. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
PHP demande l'adresse distante pour définir le délai d'attente. Il explique principalement comment définir le délai d'attente pour trois fonctions courantes simples : file_get_contents, fopen et curl. En général, il est recommandé d'utiliser curl, qui a le. meilleures performances et efficacité maximale.
1. paramètre de délai d'expiration de la demande file_get_contents
$timeout = array( 'http'=> array( 'timeout'=>5//设置一个超时时间,单位为秒 ) ); $ctx = stream_context_create($timeout); $text = file_get_contents("http://www.jb51.net/",0, $ctx);
2. Paramètre de délai d'expiration de la demande d'ouverture
$timeout = array( 'http' => array( 'timeout' => 5 //设置一个超时时间,单位为秒 ) ); $ctx = stream_context_create($timeout); if ($fp = fopen("http://www.jb51.net/", "r", false, $ctx)) { while( $c = fread($fp, 8192)) { echo $c; } fclose($fp); }
3 , paramètre de délai d'expiration de la demande curl
CURL est une bibliothèque lib couramment utilisée pour accéder à l'interface du protocole HTTP, avec des performances élevées et certaines fonctions de prise en charge de la concurrence.
curl_setopt($ch, opt) peut définir certains paramètres de délai d'attente, notamment :
a, CURLOPT_TIMEOUT définit le nombre maximum de secondes pendant lesquelles cURL est autorisé à s'exécuter.
b. CURLOPT_TIMEOUT_MS définit le nombre maximum de millisecondes pendant lequel cURL est autorisé à s'exécuter.
c.CURLOPT_CONNECTTIMEOUT Le temps d'attente avant d'initier une connexion S'il est défini sur 0, il attendra indéfiniment.
d. CURLOPT_CONNECTTIMEOUT_MS Le temps d'attente pour une tentative de connexion, en millisecondes. S'il est défini sur 0, attendez indéfiniment. e. CURLOPT_DNS_CACHE_TIMEOUT définit l'heure de sauvegarde des informations DNS en mémoire, la valeur par défaut est de 120 secondes.
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT,60); //只需要设置一个秒的数量就可以 curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_USERAGENT, $defined_vars['HTTP_USER_AGENT']);
Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
Comment implémenter la fonction de générateur aléatoire de couleurs hexadécimales en PHP
phpimplémente le cryptage et le déchiffrement DES compatibles avec la méthode c#
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!