Pages :
(reprise du message précédent)

Bonjour,
Je viens d'avoir l'informaticien de la poste, le compte est ok, ça doit fonctionner. Erreur dans votre code, verdict de la poste.

<?php
$infos['login'] = "X";
$infos['password'] = "Y";
$ch = curl_init();
					curl_setopt( $ch, CURLOPT_URL, "https://ws.colissimo.fr/widget-point-retrait/rest/authenticate.rest");
					curl_setopt( $ch, CURLOPT_HEADER, FALSE );
					curl_setopt( $ch, CURLOPT_RETURNTRANSFER, TRUE );
					curl_setopt( $ch, CURLOPT_POST, TRUE );
					curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE);
				    curl_setopt( $ch, CURLOPT_VERBOSE, 1);
				    curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 2);
					curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode($infos));
					$REPONSE = curl_exec( $ch );
					curl_close( $ch );

$result = json_decode($REPONSE, true);
$token = $result['token'];

?>

<!DOCTYPE html> 
<html lang="fr">
    <head>
        <title>Front Page Point Retrait</title> 
        <meta charset="utf-8"> 
        <meta http-equiv="pragma" content="no-cache" /> 
        <meta http-equiv="cache-control" content="no-cache" /> 
        <meta http-equiv="Expires" content="0" /> 
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.js" type="text/javascript"></script>
        <script src="https://ws.colissimo.fr/widget-point-retrait/resources/js/jquery.plugin.colissimo.min.js" type="text/javascript"></script> 
    </head> 
    <body> 
        <h1>Le haut de la page</h1> 
    <script type="text/javascript">
$(function() {

	leToken = <?=$token?>;
		$('#widget-container').frameColissimoOpen(
		{
            "ceLang":"FR",
			"callBackFrame":'callBackFrame',
			"URLColissimo":"https://ws.colissimo.fr",
			"ceCountryList":"FR,ES,GB,PT,DE",
			"ceCountry":"FR",
			"dyPreparationTime":"1",
			"ceAddress":"62 RUE CAMILLE DESMOULINS",
			"ceZipCode":"92130",
			"ceTown":"ISSY LES MOULINEAUX",
			"token":leToken
		});
	});
	

	});
function callBackFrame(point) {
	console.log('call back frame');
	console.log(point);
}
	</script>
        <div id="widget-container" ></div> 
        <input type="hidden" id="pudoWidgetErrorCode"> 
        <h1>Le bas de la page</h1>
        </body>
</html>


La coquille au niveau de la poste a été corrigé hier. L'informaticien a vérifié en direct, ça doit fonctionner. Merci par avance pour votre aide. Smiley murf

D'après l'informaticien, ça serait un problème de réception du token.
Modifié par Tintin75 (07 Jun 2018 - 15:55)
Essaye de rajouter ça et dis nous le résutlat du var_dump($REPONSE); :

<?php
$infos['login'] = "X";
$infos['password'] = "Y";
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, "https://ws.colissimo.fr/widget-point-retrait/rest/authenticate.rest");
curl_setopt( $ch, CURLOPT_HEADER, FALSE );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, TRUE );
curl_setopt( $ch, CURLOPT_POST, TRUE );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt( $ch, CURLOPT_VERBOSE, 1);
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode($infos));
$REPONSE = curl_exec( $ch );
curl_close( $ch );

$result = json_decode($REPONSE, true);
$token = $result['token'];

var_dump($REPONSE);
?>
En test ça fonctionne, il veut le code pour corriger. Il arrive à me générer un token.

J'ai bien ma carte interactive comme je veux. Super tip top.

Il m'a filé deux fichiers, un qui génère le token, l'autre qui affiche la carte.
Modifié par Tintin75 (07 Jun 2018 - 17:34)
Réponse : bool(false)

Excuse moi pour le retard.

Pour moi le code du fofo, doit fonctionner. Smiley biggol Il doit trouver la coquille, il m'a demandé le code pour voir.
Modifié par Tintin75 (07 Jun 2018 - 17:41)
Verdict de l'informaticien, CURL n'est pas installé sur le serveur. Ca fonctionne de son coté.

Reste trouver le moyen de l'installer sous Centos 7 en 64 bits.
Retour OVH, dernière version d'installé sur le serveur, rien à faire m'a dit le technicien ...

J'ai testé en ligne de code avec lui en ssh pour voir ce qu'il en était. Smiley confus

Ça m'énerver Smiley fache J'ai testé curl est bien activé sur mon serveur !!! Pourquoi ça fonctionne pas ? Mystère, ça vient de la partie curl, qui génère pas le token. Pour l'informaticien de la poste, il a regardé le code ça doit fonctionner, et c'est pas le cas Smiley confus
Modifié par Tintin75 (07 Jun 2018 - 20:33)
J'ai fixé la panne, c'est le firwall, qui bloque. Reste trouver le bon réglage.
J'ai du régler mon firwall trop fort, ce qui explique que ça ne fonctionne pas. Pour que ça fonctionne il faut quoi comme réglage ? Smiley smile
Le code est bon, car ça fonctionne sur d'autre serveurs, donc ça vient bien du firwall que j'ai du régler trop fort.
Modérateur
Quel est le port utilisé par ta liaison Curl ? Si elle est différente de ton https tu dois ouvrir ce port dans ton firewall.

Ajoute ceci juste avant curl_close

print_r(curl_getinfo($ch));
Retour écran

token : Array ( Smiley url => https://ws.colissimo.fr/widget-point-retrait/rest/authenticate.rest [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 Smiley filetime => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.000504 [namelookup_time] => 0 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [redirect_url] => [primary_ip] => Smiley certinfo => Array ( ) [primary_port] => 0 [local_ip] => [local_port] => 0 )

Smiley smile
Modifié par Tintin75 (08 Jun 2018 - 10:05)
Tintin75 a écrit :
Le code est bon, car ça fonctionne sur d'autre serveurs, donc ça vient bien du firwall que j'ai du régler trop fort.


désactive le complètement et test Smiley smile
Firwall désactiver complet

bool(false)
Notice: Trying to get property of non-object in XXX/Bob.php on line 39
token : Array ( Smiley url => https://ws.colissimo.fr/widget-point-retrait/rest/authenticate.rest [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 Smiley filetime => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 7.9E-5 [namelookup_time] => 0 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [redirect_url] => [primary_ip] => Smiley certinfo => Array ( ) [primary_port] => 0 [local_ip] => [local_port] => 0 )

Ligne 39

$my_token=$reponse->{'token'};


Ca m'énerve Smiley fache

Un copain a testé le code ce matin sur son serveur ovh, ça fonctionne nickel chrome.

Version php 7.0.30

Code test, si j'ai le token, le dossier est plié

<?php

ini_set('display_errors', 1);
ini_set('html_errors', 1);
ini_set('log_errors', 1);
ini_set('xdebug.show_local_vars', 1);
error_reporting(E_ALL);

$post = [

    'login' => 'X',

    'password' => 'Y'

];

$ch = curl_init();        

$timeout = 30;

$url='https://ws.colissimo.fr/widget-point-retrait/rest/authenticate.rest';

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));

$data = curl_exec($ch);

var_dump($data);

$reponse = json_decode($data);

$my_token = $reponse -> {'token'};

echo "token : ".$my_token;

print_r(curl_getinfo($ch));

?>


Le serveur qui a testé mon code à le même php.ini en curl.
Modifié par Tintin75 (08 Jun 2018 - 10:37)
Modérateur
Holala, aucun jus ne passe Smiley decu

Fais voir le résultat de ceci:
<?php

ini_set('display_errors', 1);
ini_set('html_errors', 1);
ini_set('log_errors', 1);
ini_set('xdebug.show_local_vars', 1);
error_reporting(E_ALL);

$post = [

    'login' => 'X',

    'password' => 'Y'

];

$ch = curl_init();        
if ($ch === false) {echo "Echec de l'initialisation du module Curl !<br>\n";} else {echo "Initialisation de Curl: Succès !<br>\n";}
$timeout = 30;

$url='https://ws.colissimo.fr/widget-point-retrait/rest/authenticate.rest';

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));

$data = curl_exec($ch);
if ($ch === false) {echo "Echec de l'éxécution Curl !<br>\n";} else {echo "Curl s'est exécuté avec succès !<br>\nRésultat:";print_r($data);}

$reponse = json_decode($data);
echo "<br>\nEt la réponse est...<br>\n";print_r($reponse);
$my_token = $reponse -> {'token'};
echo "token : ".$my_token;

print_r(curl_getinfo($ch));

?>


PS: remets login/mdp pour tester Smiley cligne
Initialisation de Curl: Succès !
Curl s'est exécuté avec succès !
Résultat:
Et la réponse est...

Notice: Trying to get property of non-object in X/Bob.php on line 38
token : Array ( Smiley url => https://ws.colissimo.fr/widget-point-retrait/rest/authenticate.rest [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 Smiley filetime => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.000857 [namelookup_time] => 0 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [redirect_url] => [primary_ip] => Smiley certinfo => Array ( ) [primary_port] => 0 [local_ip] => [local_port] => 0 )

Je me demande si on va y arriver Smiley confus

Ligne 38

$my_token = $reponse -> {'token'};


C'est toujours là, l'erreur Smiley fache

On va finir par devenir cinglé !!! Smiley crash
Modifié par Tintin75 (08 Jun 2018 - 11:20)
Modérateur
Bon si on met de côté toute interaction du firewall, Curl est bien opérationnel sur ton serveur. Le soucis est que tu ne rapatrie aucune donnée. Ça sent la calvitie précoce cette affaire.

Quelques pistes :
* au niveau des curl_setopt: il manque peut-être une option indispensable
* Curl n'a-t-il pas son propre fichier de configuration (genre curl.ini) ?
* heu... ben quand j'aurais une idée je reviendrais car là ?????
Pages :