Maison  >  Article  >  développement back-end  >  Solution au délai d'expiration de la configuration de l'adresse distante de la demande PHP

Solution au délai d'expiration de la configuration de l'adresse distante de la demande PHP

墨辰丷
墨辰丷original
2018-05-31 09:52:481917parcourir

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

Tutoriel pratique PHP sur les méthodes de filtrage, de vérification, d'échappement et de mot de passe

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!

Déclaration:
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