Maison > développement back-end > Problème PHP > À quoi devez-vous faire attention lorsque vous obtenez du contenu Web en php ?

À quoi devez-vous faire attention lorsque vous obtenez du contenu Web en php ?

王林
Libérer: 2023-02-25 09:24:01
original
2739 Les gens l'ont consulté

À quoi devez-vous faire attention lorsque vous obtenez du contenu Web en php ?

Remarques sur l'obtention de contenu Web avec PHP

1. Des erreurs réseau se produiront et toute erreur est possible. Par exemple, la machine est en panne, le câble réseau est déconnecté, le nom de domaine est erroné, le réseau expire, la page a disparu, le site Web saute, le service est banni, la charge de l'hôte n'est pas suffisante...

2. Le serveur a ajouté des restrictions. Autoriser uniquement les navigateurs courants à accéder

3. Le serveur a ajouté des restrictions anti-hotlinking

4. Certains sites Web ne se soucient pas de savoir s'il y en a. un en-tête Accept-Encoding dans votre requête HTTP ou non. Quel est le contenu spécifique ? Quoi qu'il en soit, je vous envoie toujours le contenu gzippé

5. Les liens URL sont toutes sortes de bizarreries, y compris celles avec des caractères chinois, et certains ont même un retour chariot et un saut de ligne

6. Un certain Certains sites Web ont un Content-Type dans l'en-tête HTTP, et il y a plusieurs Content-Types dans la page Web. Ce qui est encore plus scandaleux, c'est que chaque Content-Type. -Le type est différent. Le plus scandaleux est que ces types de contenu ne peuvent pas être utilisés dans le texte, ce qui entraîne des caractères tronqués

7. Le lien réseau est très lent. prend pour analyser des milliers de pages. Je vous suggère de prendre un bon repas

Obtenez-le avec la méthode de contenu Web PHP

Méthode 1. Utilisez la méthode file_get_contents pour implémentez

$url = "http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml";
    $html = file_get_contents($url);
    //如果出现中文乱码使用下面代码
    //$getcontent = iconv("gb2312", "utf-8",$html);
    echo "<textarea style=&#39;width:800px;height:600px;&#39;>".$html."</textarea>";
Copier après la connexion

Méthode 2. Utilisez curl pour implémenter

$url = "http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml";
    
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$html = curl_exec($ch);
curl_close($ch);

echo "<textarea style=&#39;width:800px;height:600px;&#39;>".$html."</textarea>";
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
Copier après la connexion

L'ajout de ce code signifie que si la requête est redirigée, vous pouvez accéder à la version finale page de requête, sinon le résultat de la requête affichera ce qui suit :

<head><title>Object moved</title></head>
<body><h1>Object Moved</h1>This object may be found <a href="some link." rel="external nofoll
Copier après la connexion

Tutoriel recommandé : Tutoriel vidéo PHP

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