mqu / php-console-freebox

classes PHP permettant de gérer la console freebox et les enregistrements récurrents.
https://github.com/mqu/php-console-freebox/wiki
7 stars 4 forks source link

Fatal error: Uncaught exception 'Exception' with message 'ConsoleFree::login() #9

Open guilb opened 12 years ago

guilb commented 12 years ago

Bonjour,

Je rencontre un problème pour me loguer...

J'obtiens le message suivant : Fatal error: Uncaught exception 'Exception' with message 'ConsoleFree::login() : connexion error' in /home/blabla/www/freebox2/ConsoleFree.php:53 Stack trace: #0 /home/blabla/www/freebox2/free-magneto-lister-chaines.php(10): ConsoleFree->login('032078****', 'monpassword') #1 {main} thrown in /homez.158/guilb/www/freebox2/ConsoleFree.php on line 53

Je ne vois pas ce qui coince. Pour info, le check installation est OK.

Merci d'avance,

Guilb

mqu commented 12 years ago

bonjour,

pour ma part, depuis mon compte et sur une machine virtuelle Debian, je n'ai pas de soucis. Je précise car ces scripts sont à la merci d'une évolution mineure dans les affichages des pages.

qu'est-ce que tu as comme configuration logicielle ?

guilb commented 12 years ago

Merci pour ta réponse...

phpversion : 5.3.16

uname : Linux web517.start.ha.ovh.net 3.2.2-grsec-mutu-grs-ipv6-64

1 SMP Thu Jan 26 14:55:34 UTC 2012 x86_64

php:ini:safe_mode : false

php:ini:open_basedir : ''

verification : OK

Pour info, c'est sur un mutualisé OVH.

Sinon, j'avais fait un test sur une plateforme MAMP, mais là, j'avais des soucis plus tôt avec une Erreur 107 (net::ERR_SSL_PROTOCOL_ERROR) : Erreur de protocole SSL

mqu commented 12 years ago

est-ce qu'il serait possible de me communiquer une adresse avec le résultat d'un "phpinfo();" ?

je mettrai à jour ce commentaire en fonction de mes différentes recherches.

mqu commented 12 years ago

est-ce qu'il serait possible d'essayer ce code avec les 2 URL (http, https) ?

<?php

class CURL {
protected $user_agent = 'Mozilla/5.0';

function doRequest($method, $url, $vars) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, $this->user_agent);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        # curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    # curl_setopt($ch, CURLOPT_VERBOSE, true); verbose mode
    if(!$this->is_safe_mode()){
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
        curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
    }

    if ($method == 'POST') {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
    }

    $data = curl_exec($ch);
    curl_close($ch);
    if ($data) {
        return $data;
    } else {
        return curl_error($ch);
    }
}

public function get($url) {
    return $this->doRequest('GET', $url, 'NULL');
}

public function post($url, $vars) {
    return $this->doRequest('POST', $url, $vars);
}

protected function is_safe_mode(){
    if(ini_get('safe_mode')===true) return true;
    if(ini_get('open_basedir') !== '') return true;
    return false;
    }
}

$curl = new CURL;

$url = 'http://www.google.fr';
$url = 'https://www.google.fr';

print_r($curl->get($url));

?>

si l'url avec HTTPS plante, tu peux enlever le commentaire sur la ligne contenant : "CURLOPT_SSL_VERIFYPEER" et voir si ca fonctionne mieux. (cf : http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/)

guilb commented 12 years ago

Je viens de tester ton code, cela ne fonctionne pas mieux... J'ai quelques Warning qui s'affichent et l'intégration de ma page Google qui fonctionne par contre.

Tu peux accéder au phpinfo à l'url : http://www.guilb.fr/phpinfo.php

Merci pour ton aide !

mqu commented 12 years ago

je n'ai pas très bien compris ta réponse :

guilb commented 12 years ago

Oui, oui, mon environnement technique me permet de lire les pages sur du HTTPS

Les messages d'erreur sont les suivants : "Warning: Cannot modify header information - headers already sent by (output started at /homez.158/guilb/www/freebox2/CURL.php:56) in /homez.158/guilb/www/freebox2/Page.php on line 49

Warning: Cannot modify header information - headers already sent by (output started at /homez.158/guilb/www/freebox2/CURL.php:56) in /homez.158/guilb/www/freebox2/Page.php on line 23 menu : login | lister | programmer | supprimer |

une erreur s'est produite : ConsoleFree::login() : connexion error"

Et non, je n'ai pas d'accès SSH...

loulouMS commented 6 years ago

J'essaie d'exécuter un script php sous Windows 10 mais j'obtiens la même erreur ("connexion error"). J'ai indiqué Chrome et sa version comme user_agent dans curl.php J'ai essayé aussi de changer la partie de l'url adsl.free.fr/compte/console.pl en adsl.free.fr/home.pl (url que l'on voit sur le site free) mais sans changement. J'ai essayé aussi de retirer les 3 lignes après if preg_match, idem.

En fait, la variable $data est vide.

mqu commented 6 years ago

hello Loulou ; voila bien longtemps que ce projet est endormi. Je ne sais pas si je vais être en mesure de le sortir de son sommeil, pour ne pas parler de létargie :-) aucune idée s'il fonctionne encore.

mqu commented 6 years ago
loulouMS commented 6 years ago

Après une petite réflexion, je vais m'orienter vers un petit dev avec une appli UWP puisque je vois qu'il "suffit" d'accéder aux pages web free. Pour moi, ce sera plus simple que le php. Merci quand même !