Php-curl : recuperation code source site web
Résolu
frederic987
Messages postés
6
Statut
Membre
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,
J'essaie de mettre en place le bout de script trouve ici : https://forums.commentcamarche.net/forum/affich-2266318-php-recuperer-le-code-source-d-une-page-web
Il marche bien tant que l'url est externe, mais impossible de le faire fonctionner en local (sur un site local). Est ce que quelqu'un aurait une idee sur ce qui pourrait l'en empecher ? configuration php.ini ? apache ?
Merci
J'essaie de mettre en place le bout de script trouve ici : https://forums.commentcamarche.net/forum/affich-2266318-php-recuperer-le-code-source-d-une-page-web
<?php
$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, 'http://www.commentcamarche.net');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
$lines = array();
$lines = explode("\n", $file_contents);
// display file line by line
foreach($lines as $line_num => $line) {
echo "Line # {$line_num} : ".htmlspecialchars($line)."<br />\n";
}
?>
Il marche bien tant que l'url est externe, mais impossible de le faire fonctionner en local (sur un site local). Est ce que quelqu'un aurait une idee sur ce qui pourrait l'en empecher ? configuration php.ini ? apache ?
Merci
A voir également:
- Php-curl : recuperation code source site web
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour à la ligne php ✓ - Forum PHP
- Retour a la ligne avec Echo comment faire ? - Forum Webmastering
- Curl commande introuvable - Forum Shell
6 réponses
Conclusion : c'etait bien la configuration SSL d'apache qui pechait. Toujours pas de nouvelle configuration permettant une utilisation normale neanmoins.
Reivax962
Messages postés
3742
Statut
Membre
1 011
Merci pour le retour :)
Bonjour,
Tu peux nous montrer comment tu fais ton appel sur un site local ? A priori il n'y a pas de raisons pour que le comportement soit différent...
Xavier
Tu peux nous montrer comment tu fais ton appel sur un site local ? A priori il n'y a pas de raisons pour que le comportement soit différent...
Xavier
Bonjour
J'ai decouvert depuis que ce comportement etait du a une mauvaise configuration d'apache2. Tous mes sites locaux sont en https et la configuration de rewrite semble inappropriee, puisque en desactivant ssl et le renvoi vers 443 : ca marche.
Voici la configuration du vhost :
Car ayant fait le test sur des serveurs externes https, ca marche.
Pour l'appel sur site local, je remplace juste par l'url local : http(s)://site.local
Merci de ton aide.
J'ai decouvert depuis que ce comportement etait du a une mauvaise configuration d'apache2. Tous mes sites locaux sont en https et la configuration de rewrite semble inappropriee, puisque en desactivant ssl et le renvoi vers 443 : ca marche.
Voici la configuration du vhost :
NameVirtualHost 192.168.0.15:80
<VirtualHost 192.168.0.15:80>
DocumentRoot /var/www/www.local.try
ServerName www.local.try
ServerAlias local.try *.local.try
ServerAdmin admin@localhost
# Directory directives
<Directory /var/www/www.local.try>
Options None
AllowOverride None
Order deny,allow
Allow from 10.0.1.2 10.0.1.3 10.0.1.4 10.0.1.5
</Directory>
# PHP directives
php_flag display_errors 0
# SSL Engine Switch:
SSLEngine Off
# Log files
ErrorLog /var/log/apache2/www.local.try-error.log
CustomLog /var/log/apache2/www.local.try-access.log vhost_combined
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel info
# Redirect http to https
RewriteEngine On
RewriteOptions Inherit
RewriteLog /var/log/apache2/https_rewrite.log
RewriteLogLevel 1
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{SERVER_NAME}/ [L,R]
</VirtualHost>
NameVirtualHost 192.168.0.15:443
<VirtualHost 192.168.0.15:443>
DocumentRoot /var/www/www.local.try
ServerName www.local.try
ServerAlias local.try *.local.try
ServerAdmin admin@localhost
# Directory directives
<Directory /var/www/www.local.try>
Options None
AllowOverride None
Order deny,allow
Allow from 10.0.1.2 10.0.1.3 10.0.1.4 10.0.1.5
</Directory>
# PHP directives
php_flag display_errors 0
# SSL Engine Switch:
SSLEngine On
SSLProtocol all -SSLv2
# Client Authentication (Type):
SSLCertificateFile /home/mrman/.ssl/certs/local-cert.pem
SSLCertificateKeyFile /home/mrman/.ssl/private/local-key.pem
# Log files
ErrorLog /var/log/apache2/www.local.try-error.log
CustomLog /var/log/apache2/www.local.try-access.log vhost_combined
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel info
</VirtualHost>
Car ayant fait le test sur des serveurs externes https, ca marche.
Pour l'appel sur site local, je remplace juste par l'url local : http(s)://site.local
Merci de ton aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question