Maison développement back-end tutoriel php 探讨file_get_contents与curl效率及稳定性的分析_PHP教程

探讨file_get_contents与curl效率及稳定性的分析_PHP教程

Jul 21, 2016 pm 03:08 PM
curl file get et 内容 分析 抓取 探讨 效率 稳定 网站

做过好多抓取别家网站内容的产品,习惯了使用方便快捷的file_get_contents函数,但是总是会遇到获取失败的问题,尽管按照手册中的例子设置了超时,可多数时候不会奏效:

复制代码 代码如下:

$config['context'] = stream_context_create(array(‘http' => array(‘method' => “GET”,
   'timeout' => 5//这个超时时间不稳定,经常不奏效
   )
  ));

这时候,看一下服务器的连接池,会发现一堆类似的错误,让你头疼万分:
file_get_contents(http://***): failed to open stream…
不得已,安装了curl库,写了一个函数替换:
复制代码 代码如下:

function curl_file_get_contents($durl){
   $ch = curl_init();
   curl_setopt($ch, CURLOPT_URL, $durl);
   curl_setopt($ch, CURLOPT_TIMEOUT, 5);
   curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);
   curl_setopt($ch, CURLOPT_REFERER,_REFERER_);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   $r = curl_exec($ch);
   curl_close($ch);
   return $r;
 }

如此,除了真正的网络问题外,没再出现任何问题。
这是别人做过的关于curl和file_get_contents的测试:
file_get_contents抓取google.com需用秒数:
2.31319094
2.30374217
2.21512604
3.30553889
2.30124092
curl使用的时间:
0.68719101
0.64675593
0.64326
0.81983113
0.63956594
差距很大吧?呵呵,从我使用的经验来说,这两个工具不只是速度有差异,稳定性也相差很大。建议对网络数据抓取稳定性要求比较高的朋友使用上面的curl_file_get_contents函数,不但稳定速度快,还能假冒浏览器欺骗目标地址哦!

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/327449.htmlTechArticle做过好多抓取别家网站内容的产品,习惯了使用方便快捷的file_get_contents函数,但是总是会遇到获取失败的问题,尽管按照手册中的例子设...
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment configurer Cheat Engine en chinois ? Méthode chinoise de réglage du moteur de triche Comment configurer Cheat Engine en chinois ? Méthode chinoise de réglage du moteur de triche Mar 13, 2024 pm 04:49 PM

CheatEngine est un éditeur de jeu qui peut éditer et modifier la mémoire du jeu. Cependant, sa langue par défaut n'est pas le chinois, ce qui est gênant pour de nombreux amis. Alors, comment définir le chinois dans CheatEngine ? Aujourd'hui, l'éditeur vous donnera une introduction détaillée sur la façon de configurer le chinois dans CheatEngine. J'espère que cela pourra vous aider. Première méthode de paramétrage : 1. Double-cliquez pour ouvrir le logiciel et cliquez sur « modifier » dans le coin supérieur gauche. 2. Cliquez ensuite sur « paramètres » dans la liste d'options ci-dessous. 3. Dans l'interface de la fenêtre ouverte, cliquez sur « langues » dans la colonne de gauche

Déploiement privé de Stable Diffusion pour jouer avec le dessin IA Déploiement privé de Stable Diffusion pour jouer avec le dessin IA Mar 12, 2024 pm 05:49 PM

StableDiffusion est un modèle d'apprentissage profond open source. Sa fonction principale est de générer des images de haute qualité via des descriptions textuelles et prend en charge des fonctions telles que la génération de graphiques, la fusion de modèles et la formation de modèles. L'interface de fonctionnement du modèle est visible dans la figure ci-dessous. Comment générer une image. Ce qui suit est une introduction au processus de création d'une image d'un cerf buvant de l'eau. Lors de la génération d'une image, elle est divisée en mots d'invite et en mots d'invite négatifs. Lors de la saisie des mots d'invite, vous devez la décrire. clairement et essayez de décrire la scène, l’objet, le style et la couleur que vous souhaitez en détail. Par exemple, au lieu de simplement dire « le cerf boit de l'eau », il est écrit « un ruisseau, à côté d'arbres denses, et il y a des cerfs qui boivent de l'eau à côté du ruisseau ». Les mots d'invite négatifs vont dans la direction opposée. aucun bâtiment, aucune personne, aucun pont, aucune clôture et une description trop vague peuvent conduire à des résultats inexacts.

Analyse des raisons pour lesquelles le répertoire secondaire du CMS DreamWeaver ne peut pas être ouvert Analyse des raisons pour lesquelles le répertoire secondaire du CMS DreamWeaver ne peut pas être ouvert Mar 13, 2024 pm 06:24 PM

Titre : Analyse des raisons et des solutions pour lesquelles le répertoire secondaire de DreamWeaver CMS ne peut pas être ouvert. Dreamweaver CMS (DedeCMS) est un puissant système de gestion de contenu open source largement utilisé dans la construction de divers sites Web. Cependant, parfois pendant le processus de création d'un site Web, vous pouvez rencontrer une situation dans laquelle le répertoire secondaire ne peut pas être ouvert, ce qui perturbe le fonctionnement normal du site Web. Dans cet article, nous analyserons les raisons possibles pour lesquelles le répertoire secondaire ne peut pas être ouvert et fournirons des exemples de code spécifiques pour résoudre ce problème. 1. Analyse des causes possibles : Problème de configuration des règles pseudo-statiques : pendant l'utilisation

Exemple de commande Curl Get Exemple de commande Curl Get Mar 20, 2024 pm 06:56 PM

Sous Linux, le client URL ou Curl est un utilitaire de ligne de commande populaire qui vous permet de transférer des données sur le réseau à l'aide de divers protocoles tels que HTTPS, HTTP, FTP, etc. Il vous permet d'envoyer et de recevoir des données en utilisant ses méthodes get, post et request. Parmi eux, vous devez utiliser fréquemment la méthode « get ». Par conséquent, il devient crucial d’apprendre diverses méthodes et différentes options que vous pouvez utiliser pour augmenter votre productivité. "Effectuer une opération curl est aussi simple que de saisir quelques commandes simples. Bien que cela semble simple, de nombreux utilisateurs ne réalisent pas pleinement son potentiel. Par conséquent, ce petit guide fournit des informations sur la façon d'effectuer des opérations curl sur les systèmes Linux. Exemple utilisant " curlget" commande "Curl.

Analyser si le langage de programmation principal de Tencent est Go Analyser si le langage de programmation principal de Tencent est Go Mar 27, 2024 pm 04:21 PM

Titre : Le principal langage de programmation de Tencent Go : Une analyse approfondie En tant que principale entreprise technologique chinoise, Tencent a toujours attiré beaucoup d’attention dans son choix de langages de programmation. Ces dernières années, certains pensent que Tencent adopte principalement Go comme principal langage de programmation. Cet article procédera à une analyse approfondie pour déterminer si le principal langage de programmation de Tencent est Go et donnera des exemples de code spécifiques pour étayer ce point de vue. 1. Application du langage Go dans Tencent Go est un langage de programmation open source développé par Google. Son efficacité, sa concurrence et sa simplicité sont appréciées par de nombreux développeurs.

Après de multiples transformations et coopération avec le géant de l'IA Nvidia, pourquoi Vanar Chain a-t-il augmenté de 4,6 fois en 30 jours ? Après de multiples transformations et coopération avec le géant de l'IA Nvidia, pourquoi Vanar Chain a-t-il augmenté de 4,6 fois en 30 jours ? Mar 15, 2024 am 10:46 AM

Récemment, la blockchain Layer1 VanarChain a attiré l'attention du marché en raison de son taux de croissance élevé et de sa coopération avec le géant de l'IA NVIDIA. Derrière la popularité de VanarChain, en plus de subir de multiples transformations de marque, des concepts populaires tels que les jeux principaux, le métaverse et l'IA ont également valu au projet beaucoup de popularité et de sujets. Avant sa transformation, Vanar était le prédécesseur de TerraVirtua, une entreprise fondée en 2018. Initialement, il s’agissait d’une plate-forme qui fournissait du contenu de réalité virtuelle (VR) et de réalité augmentée (AR) payant sur abonnement et prenait en charge les paiements en crypto-monnaie. La société a été fondée par les cofondateurs Gary Bracey et Jawad Ashraf, dont Gary Brac

Analyse de l'utilisabilité du système Hongmeng à partir du fonctionnement réel Analyse de l'utilisabilité du système Hongmeng à partir du fonctionnement réel Mar 23, 2024 am 08:21 AM

En tant que système d'exploitation qui a attiré beaucoup d'attention ces dernières années, le système Hongmeng a attiré beaucoup d'attention. Hongmeng OS est salué comme un système alternatif lancé par Huawei en réponse à l'interdiction du système Android. Il présente les avantages d'une contrôlabilité indépendante et d'une multiplateforme. Cependant, la qualité d’un système ne dépend pas seulement de sa solidité technique, mais surtout de l’expérience utilisateur, c’est-à-dire de sa facilité d’utilisation. Cet article analysera la facilité d'utilisation du système Hongmeng du point de vue de son fonctionnement réel. 1. Installation et paramètres L'installation et les paramètres du système Hongmeng sont relativement simples et peu compliqués pour les utilisateurs ordinaires. pendant l'installation

Analyse de la disposition DEX de Solana : Jupiter est-il l'avenir de l'écologie ? Analyse de la disposition DEX de Solana : Jupiter est-il l'avenir de l'écologie ? Mar 26, 2024 pm 02:10 PM

Source : Shenchao TechFlow En tant que projet émergent de grande envergure dans l'écosystème Solana, Jupiter a rapidement émergé dans le domaine DeFi malgré son lancement court. Cependant, même dans un environnement en évolution aussi rapide, l’amélioration des modèles économiques et la stabilité des prix symboliques restent cruciales. Sans ces soutiens, un projet peut facilement tomber dans un cercle vicieux qui peut finalement conduire à son déclin, voire à son incapacité à se maintenir. Par conséquent, Jupiter doit optimiser continuellement sa conception économique et assurer la stabilité des prix symboliques pour assurer le développement et le succès à long terme du projet. La chaîne Solana a enregistré de solides performances au cours de la semaine dernière, avec son jeton SOL augmentant rapidement sur le marché secondaire et le jeton $JUP de Jupiter ayant également augmenté au cours des deux dernières semaines.

See all articles