Je pensais qu'il fallait d'abord installer les librairie Curl, mais non elle sont déjà disponibles avec mon hébergeur. J'ai donc appliqué le code sur ma page et ça fonctionne :)
Malheureusement, je n'arrive pas a me connecter sur la page qui m’intéresse. La page est assez complexe avec pas mal de javascript.
Le code source de la page initiale est:
<html >
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
<title>e-Crew</title>
<meta id="viewport" name="viewport" content="width=device-width; initial-scale=1.0; minimum-scale=1.0; maximum-scale=1.0"/>
<link rel="stylesheet" href="/navigation.css" type="text/css">
<link rel="stylesheet" href="/indexbtn.css" type="text/css">
<style>
body {
margin-top: 0px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
font-family: Arial, Helvetica, sans-serif;
}
.default_css
{
font-size:12px;
font-weight:bold;
}
.login_header_1260
{
background-image:url(/wtouch/images/login_header_1260.jpg);
background-repeat:no-repeat;
}
.touch_footer
{
background-image:url(/wtouch/images/login_white_stripe_touch.png);
}
.touch_table
{
background-image:url(/wtouch/images/keyboard-bg.png);
}
.welcome_box
{
background-image:url(/wtouch/images/welcome_box.png);
}
.login_header_1680
{
background-image:url(/wtouch/images/login_header_1680.jpg);
background-repeat:no-repeat;
}
.login_header_1920
{
background-image:url(/wtouch/images/login_header_1920.jpg);
background-repeat:no-repeat;
}
.login_header_4K
{
background-image:url(/wtouch/images/login_header_4K.jpg);
background-repeat:no-repeat;
background-position:center;
background-size:cover;
}
.login_sky_1260
{
background-image:url(/wtouch/images/login_sky_1260.jpg);
background-repeat:no-repeat;
}
.login_sky_1680
{
background-image:url(/wtouch/images/login_sky_1680.jpg);
background-repeat:no-repeat;
}
.login_sky_1920
{
background-image:url(/wtouch/images/login_sky_1920.jpg);
background-repeat:no-repeat;
}
.login_sky_4K
{
background-image:url(/wtouch/images/login_sky_4K.jpg);
background-repeat:no-repeat;
background-position:center;
background-size:cover;
}
.Login_Btn
{
background-image:url(/wtouch/images/Login_Button.png);
cursor:pointer;
background-repeat:repeat-x;
color:#FFF;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
font-weight:bolder;
display:block;
}
.Login_Btn_Hover
{
cursor:pointer;
background-image:url(/wtouch/images/Login_Button_Hover.png);
background-repeat:no-repeat;
color:#FFF;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
font-weight:bolder;
}
.Login_Btn_Clicked
{
cursor:pointer;
background-image:url(/wtouch/images/Login_Button_Clicked.png);
background-repeat:no-repeat;
color:#FFF;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
font-weight:bolder;
display:block;
}
.logintouch {
font-family: Arial, Helvetica, sans-serif;
color: #330033;
cursor: pointer;
font-size: 16px;
background-color: #F4F4F4;
height: 35px;
width: 100px;
}
.calendarDiv{
position:absolute;
width:16%;
font-family: Arial, Helvetica, sans-serif;
background-color:transparent;
max-height:40px;
}
#controlBTN{
-moz-border-radius:6px 6px 6px 6px;
font:bolder 0.7em sans-serif,Arial,Helvetica;
border:3px groove #8080FF;
background-color:#FFFFFF;
}
#callGoBtn{
-moz-border-radius:4px 4px 4px 4px;
font:bolder 0.7em sans-serif,Arial,Helvetica;
border:3px groove #8080FF;
background-color:#FFFFFF;
}
#cal1{
margin:3px;
visibility:hidden;
-moz-border-radius:4px 4px 4px 4px;
font:bolder 0.7em sans-serif,Arial,Helvetica;
border:2px solid #8080FF;
}
#cal_click1{
visibility:hidden;
}
.help_menu{
color:#FFF;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
cursor:pointer;
background-color:transparent;
border:0;
padding:5px;
vertical-align:middle;
}
.login_buble{
color:#FFF;
font-size:12px;
font-family:Arial, Helvetica, sans-serif;
text-align:left;
}
.menu_head{
color:#FFF;
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
font-weight:bold;
}
.touchpadbuttons {
font-family: Arial, Helvetica, sans-serif;
font-size: 20px;
font-weight:bold;
cursor:pointer;
background-image:url(/wtouch/images/keyboard-key.png);
width:64px;
height:68px;
background-color:transparent;
color:#FFF;
border:none;
}
.touchpadbuttons-clicked {
font-family: Arial, Helvetica, sans-serif;
font-size: 20px;
font-weight:bold;
cursor:pointer;
background-image:url(/wtouch/images/keyboard-key-clicked.png);
width:64px;
height:68px;
background-color:transparent;
color:#000;
border:none;
}
.touchpadbuttondel {
font-family: Arial, Helvetica, sans-serif;
font-size: 20px;
font-weight:bold;
cursor:pointer;
background-image:url(/wtouch/images/keyboard-key-del.png);
width:125px;
height:68px;
background-color:transparent;
color:#FFF;
border:none;
}
.touchpadbuttons-clicked-del {
font-family: Arial, Helvetica, sans-serif;
font-size: 20px;
font-weight:bold;
cursor:pointer;
background-image:url(/wtouch/images/keyboard-key-clicked-del.png);
width:125px;
height:68px;
background-color:transparent;
color:#000;
border:none;
}
-->
</style>
<script src="/wtouch/scrlib.js">
<!-- var scr_loaded = false; -->
</script>
<script src="/wtouch/md5.js"></script>
<script src="/wtouch/base64.js"></script>
<!--Version Date: 17/10/2017 Version Time: 09:23-->
<script type="text/javascript" language="JavaScript">
<!--
var croom,gcroom;
var GlobType=0;
var SwipeTimer = null;
var GDateTime = "";
var VPass;
var mouse1,mouse2;
var enabled = false;
var IsComingFromMobile = Get_Cookie("MACOS",0);
function Change_Language(lang_code,lang_iso)
{
if(enabled) return false;
document.getElementById("LANG_CODE").value = lang_code;
document.getElementById("LANG_ISO").value = lang_iso;
document.forms[0].action ="/wtouch/wtouch.exe/chooselang";
document.forms[0].submit();
}
function Close_CrewRoom()
{
if(enabled) return false;
document.forms[0].action ="";
document.forms[0].submit();
}
function disableRightClick(e)
{
if(!document.rightClickDisabled) // initialize
{
if(document.layers)
{
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = disableRightClick;
}
else
{
if ( parseInt(GlobType) == 2 )
document.oncontextmenu=new Function("if (document.oForm.Ids.style.display=='block') document.oForm.Ids.focus(); return false");
else document.oncontextmenu = disableRightClick;
}
return document.rightClickDisabled = true;
}
if(document.layers || (document.getElementById && !document.all))
{
if (e.which==2||e.which==3)
{
return false;
}
}
else
{
if ( parseInt(GlobType) == 2 ) document.getElementById("Ids").focus();
return false;
}
}
disableRightClick(); // We need this function for CrewRoom
function FireForgot()
{
if (IsComingFromMobile == 2) gcroom = document.getElementById("mId").value; else gcroom = document.getElementById("Id").value;
document.getElementById("Crew_Id").value = btoa(gcroom);
if(enabled) return false;
if(gcroom == "")
{
alert('First please enter your Crew ID');
return;
}
document.forms[0].action = "/wtouch/wtouch.exe/forgot";
document.forms[0].submit();
}
function dothejob()
{
enabled = true;
DecideWhich(GlobType);
if(gcroom == "")
{
if ( parseInt(GlobType) != 2 ) alert('Please insert your Crew ID.');
return;
}
document.getElementById("Crm").value = hex_md5(GDateTime);
document.getElementById("Crew_Psw").value = Math.random() * document.getElementById("Pass").value;
if (DetectMobile(navigator.userAgent||navigator.vendor||window.opera,'www.aims.aero') || (isMobile()) )
document.getElementById("login_button").className = "Login_Btn";
document.getElementById("Crew_Id").value = btoa(gcroom);
document.getElementById("AD").value = GDateTime;
showSpinner("/wtouch/images/loading.gif");
if ( parseInt(GlobType) == 2 ) document.getElementById("Ids").blur();
document.forms[0].action ="/wtouch/wtouch.exe/verify";
if (IsComingFromMobile==2) window.setTimeout('removeSpinner();',1000);
myFunction(0);
}
function myFunction(e)
{
if ( (e && e.keyCode == 13) || e == 0)
{
document.forms[0].submit();
}
}
function SwipeEnter()
{
if ( SwipeTimer != null ) window.clearTimeout(SwipeTimer);
}
function KeyIsDown(ckCode,ev)
{
if(!ev) return false;
if ((ev.currentTarget == "BODY") && (ev.keyCode == 8) ) ev.preventDefault();
if(ckCode)
{
var ck;
if(ev.keyCode >= 96) ck = ev.keyCode - 48;
else ck = ev.keyCode;
if( (ck > 57) && ( (ck != 76) && (ck != 79) && (ck != 71) && (ck != 66) && (ck != 73) && (ck != 68) && (ck != 229)) )
{
ev.returnValue = false;
if (ev.preventDefault!= null) ev.preventDefault();
return;
}
}
if ( (ev.keyCode == 13) && (!enabled) )
{
enabled= true;
dothejob();
ev.returnValue = false;
if (ev.preventDefault != null) ev.preventDefault();
return;
}
}
function CookiesCheck()
{
window.focus();
fullscreen();//full screen
window.focus();
var cook = 'verifyCookie' + (new Date().getTime());
document.cookie = cook + '=Cookie_Verified';
if(document.cookie.indexOf(cook) == -1)
{
DecideWhich(GlobType);
document.getElementById("cookies_").style.display = "block";
}
else
{
DecideWhich(GlobType);
}
}
function DecideWhich(aOper)
{
if (Detect_Browser() == 2)
{ // INTERNET EXPLORER
if ( parseInt(aOper) != 0) var croom2 = parseInt(aOper); else var croom2 = Get_Cookie("MACOS",1);
croom = parseInt(croom2);
switch(croom)
{
case 2:
window.focus();
if (document.getElementById("Ids").style.display == "block" )
{
GlobType = 2;
document.getElementById("Ids").focus();
gcroom = document.getElementById("Ids").value;
GDateTime = '';
}
break;
case 3:
GlobType = 3;
if (document.getElementById("Idt").style.display == "block" )
{
if (!enabled) document.getElementById("keys1").style.display = "block";
document.getElementById("Idt").focus();
gcroom = document.getElementById("Idt").value;
GDateTime = document.getElementById("Passt").value;
enabled = false;
}
break;
default:
GlobType = 1;
if (document.getElementById("maintable").style.display != "none" )
{
document.getElementById("Id").focus();
gcroom = document.getElementById("Id").value;
GDateTime = document.getElementById("Pass").value;
}
}
} else
{ GlobType = 1;
if (document.getElementById("maintable").style.display != "none" )
{
document.getElementById("Id").focus();
gcroom = document.getElementById("Id").value;
GDateTime = document.getElementById("Pass").value;
}
if (document.getElementById("mobile_table").style.display != "none" )
{
document.getElementById("mId").focus();
gcroom = document.getElementById("mId").value;
GDateTime = document.getElementById("mPass").value;
}
}
VPass = GDateTime;
}
function clearform()
{
document.forms[0].reset();
DecideWhich(GlobType);
}
function ServerDown()
{
var msg = '';
if (msg != '')
{
document.getElementById("serverisdown").style.display = "block";
document.getElementById("serverisdown").innerHTML = msg;
return(true);
}
}
function preparepage()
{
document.getElementById("UserAgent").value = ReturnBrowser();
Delete_Cookie("msField","/wtouch","siteinternet.com");
document.title = "e-Crew -" + "16.10.30.0 - eCrew";
if (document.getElementById("login_button") != null) document.getElementById("login_button").className = "Login_Btn";
if (document.getElementById("welcome_box") != null) document.getElementById("welcome_box").className = "welcome_box";
if (document.getElementById("ab_only_choices") !=null)
{
if (document.getElementById("ab_only_choices").innerHTML != "") document.getElementById("ab_only_choices").className = "welcome_box"; else document.getElementById("ab_only_choices").style.display = "none";
if (document.getElementById("a3_func_0") != null)
{
if (document.getElementById("a3_func_0").checked)
{
document.getElementById("a3_func_0_td").style.color = "#FFFF66";
document.getElementById("a3_func_1_td").style.color = "#FFFFFF";
}
else
{
document.getElementById("a3_func_1_td").style.color = "#FFFF66";
document.getElementById("a3_func_0_td").style.color = "#FFFFFF";
}
}
}
if (Detect_Browser() == 2)
{ // INTERNET EXPLORER
Delete_Cookie("SROW", "/wtouch","siteinternet.com");
if (ServerDown())
{
document.getElementById("maintable").style.display = "none";
return false;
}
var croom2 = Get_Cookie("MACOS",1);
croom = parseInt(croom2);
switch(croom)
{
case 2:
GlobType = 2;
document.getElementById("Id").style.display = "none";
document.getElementById("Password_Text").style.display = "none";
document.getElementById("CrewId_Text").style.display = "none";
document.getElementById("Forgotten_Text").style.display = "none";
document.getElementById("Swipe_Text").style.display = "block";
document.getElementById("Login_Btn").style.display = "none";
document.getElementById("Pass").style.display = "none";
document.getElementById("touch_table").style.display = "none";
document.getElementById("Idt").style.display = "none";
document.getElementById("Passt").style.display = "none";
document.getElementById("Ids").style.display = "block";
document.getElementById("bottom_bar_tr").height = "100px";
document.getElementById("bottom_bar_td").className = "touch_footer";
document.getElementById("home_page").style.display = "none";
CookiesCheck();
var tmpvalue = document.getElementById("Ids").value;
if (tmpvalue != "") document.getElementById("Ids").value = "";
break;
case 3:
GlobType = 3;
document.getElementById("Id").style.display = "none";
document.getElementById("CrewId_Text").style.display = "block";
document.getElementById("Swipe_Text").style.display = "none";
document.getElementById("Password_Text").style.display = "block";
document.getElementById("Login_Btn").style.display = "block";
document.getElementById("Pass").style.display = "none";
document.getElementById("Ids").style.display = "none";
document.getElementById("touch_table").className = "touch_table";
document.getElementById("touch_table").style.display = "block";
document.getElementById("bottom_bar_tr").height = "100px";
document.getElementById("bottom_bar_td").className = "touch_footer";
document.getElementById("Idt").style.display = "block";
document.getElementById("Passt").style.display = "block";
document.getElementById("keys1").style.display = "block";
document.getElementById("home_page").style.display = "none";
CookiesCheck();
break;
default:
GlobType =1;
document.getElementById("maintable").style.display = "block";
document.getElementById("CrewId_Text").style.display = "block";
document.getElementById("Swipe_Text").style.display = "none";
document.getElementById("Password_Text").style.display = "block";
document.getElementById("Login_Btn").style.display = "block";
document.getElementById("Id").style.display = "block";
document.getElementById("Pass").style.display = "block";
if (document.getElementById("ADExists") != null) document.getElementById("Forgotten_Text").style.display = "none";
CookiesCheck();
}
}
else
{ // NETSCAPE - FIREFOX - OPERA -SAFARI
if (ServerDown())
{
document.getElementById("maintable").style.display = "none";
return false;
}
GlobType =1;
if (IsComingFromMobile!=2)
if ( document.getElementById("maintable").style.display == "none") document.getElementById("maintable").style.display = "block";
if (IsComingFromMobile==2)
{
document.getElementById("welcome_box_div").style.display = "none";
document.getElementById("maintable").style.display = "none";
document.getElementById("mobile_table").style.display = "block";
document.getElementById("login_button").className = "Login_Btn";
if (document.getElementById("ADExists") != null) document.getElementById("mobile_forgot").style.display = "none";
}
document.getElementById("Pass").style.display = "block";
document.getElementById("Password_Text").style.display = "block";
document.getElementById("Id").style.display = "block";
document.getElementById("Pass").style.display = "block";
if (document.getElementById("ADExists") != null) document.getElementById("Forgotten_Text").style.display = "none";
if (IsComingFromMobile!=2) CookiesCheck();
}
if (IsComingFromMobile!=2) AdjustImageToScreen();
}
function AdjustImageToScreen()
{
if (screen.width <= 1260) { var aheader = document.getElementById("login_header_td"); var abody = document.getElementById("login_sky_td");
if (aheader != null) aheader.className = "login_header_1260";
if (abody != null) abody.className = "login_sky_1260"; }
if ( (screen.width > 1260) && (screen.width <= 1680) ) { var aheader = document.getElementById("login_header_td"); var abody = document.getElementById("login_sky_td");
if (aheader != null) aheader.className = "login_header_1680";
if (abody != null) abody.className = "login_sky_1680"; }
if (screen.width > 1680) { var aheader = document.getElementById("login_header_td"); var abody = document.getElementById("login_sky_td");
if (aheader != null) aheader.className = "login_header_1920";
if (abody != null) abody.className = "login_sky_1920"; }
}
function SelectID(btnObj)
{
if(btnObj == null) return;
if (btnObj.value == "Delete")
{
var howmanychars = document.getElementById("Idt").value;
var idx = howmanychars.length;
var txt = document.getElementById("Idt").value.substr(0,idx-1);
}
else
{
var txt = document.getElementById("Idt").value + btnObj.innerHTML;
if(txt.length > 8) txt = btnObj.innerHTML;
}
document.getElementById("Idt").value = txt;
}
function SelectPSW(btnObj)
{
if(btnObj == "undefined") return;
if (btnObj.value == "Delete")
{
var howmanychars = document.getElementById("Passt").value;
var idx = howmanychars.length;
var txt = document.getElementById("Passt").value.substr(0,idx-1);
}
else
{
var txt = document.getElementById("Passt").value + btnObj.innerText;
if(txt.length > 8) txt = btnObj.innerText;
}
document.getElementById("Passt").value = txt;
}
function AssignKeys(operator_)
{
if (operator_ == 1)
{
if (document.getElementById("keys1").style.display == "block")
{
document.getElementById("keys1").style.display = "none";
document.getElementById("keys2").style.display = "block";
}
}
else
{
if (document.getElementById("keys1").style.display == "none")
{
document.getElementById("keys1").style.display = "block";
document.getElementById("keys2").style.display = "none";
}
}
}
function guide(_urls)
{
CallHelpWin(_urls,'#Login');
}
function ChangeAbProc(param)
{
switch(parseInt(param))
{
case 0: document.getElementById("ab_func_0").checked = true;
document.getElementById("ab_func_0_td").style.color = "#FFFF66";
document.getElementById("ab_func_1_td").style.color = "#FFFFFF";
DecideWhich(GlobType);
break;
case 1:document.getElementById("ab_func_1").checked = true;
document.getElementById("ab_func_1_td").style.color = "#FFFF66";
document.getElementById("ab_func_0_td").style.color = "#FFFFFF";
DecideWhich(GlobType);
break;
}
}
function ChangeA3Proc(param)
{
Set_CookieA("MACOS",1,param,"","/wtouch","siteinternet.com");
switch(parseInt(param))
{
case 1:
GlobType =1;
document.getElementById("a3_func_0").checked = true;
document.getElementById("a3_func_0_td").style.color = "#FFFF66";
document.getElementById("a3_func_1_td").style.color = "#FFFFFF";
document.getElementById("CrewId_Text").style.display = "block";
document.getElementById("Swipe_Text").style.display = "none";
document.getElementById("Password_Text").style.display = "block";
document.getElementById("Login_Btn").style.display = "block";
document.getElementById("Ids").style.display = "none";
document.getElementById("Id").style.display = "block";
document.getElementById("Pass").style.display = "block";
if (document.getElementById("ADExists") == null) document.getElementById("Forgotten_Text").style.display = "block";
DecideWhich(param);
break;
case 2:
GlobType = 2;
document.getElementById("a3_func_1").checked = true;
document.getElementById("a3_func_1_td").style.color = "#FFFF66";
document.getElementById("a3_func_0_td").style.color = "#FFFFFF";
document.getElementById("Id").style.display = "none";
document.getElementById("Password_Text").style.display = "none";
document.getElementById("CrewId_Text").style.display = "none";
document.getElementById("Forgotten_Text").style.display = "none";
document.getElementById("Swipe_Text").style.display = "block";
document.getElementById("Login_Btn").style.display = "none";
document.getElementById("Pass").style.display = "none";
document.getElementById("touch_table").style.display = "none";
document.getElementById("Idt").style.display = "none";
document.getElementById("Passt").style.display = "none";
document.getElementById("Ids").style.display = "block";
CookiesCheck();
var tmpvalue = document.getElementById("Ids").value;
if (tmpvalue != "") document.getElementById("Ids").value = "";
DecideWhich(param);
break;
}
}
//====================== Max ===================
function setCookie()
{
document.forms[0].action ="/wtouch/wtouch.exe/index";
document.forms[0].submit();
}
//====================== Max ===================
//calc screens resolution in order to layout the div.
function positionCalDiv(){
var width = (document.documentElement.scrollWidth - document.getElementById("calendarDiv").offsetWidth);
var height = (document.documentElement.scrollHeight - document.getElementById("calendarDiv").offsetHeight);
if (Detect_Browser() == 2)
{
document.getElementById("calendarDiv").style.left = (width-20)+'px';
document.getElementById("calendarDiv").style.top = document.getElementById("helpDiv").offsetTop;
}else{
document.getElementById("calendarDiv").style.left = (width)+'px';
document.getElementById("calendarDiv").style.top = document.getElementById("helpDiv").offsetTop;
}
}
function GoAimsAero()
{
window.open("http://www.aims.aero",null,"height=690,width=1145,left=0,top=0,status=yes,toolbar=yes,menubar=yes,location=yes");
}
function ChangeImage(myObj,aImage)
{
if (myObj.nodeName == "IMG")
{
myObj.src = aImage;
}
else if (myObj.nodeName == "SPAN")
{
myObj.style.backgroundImage = "url("+aImage+")";
}
}
function GiveTheFocus()
{
if (document.getElementById("SpinContainer"))
{
if (document.getElementById("SpinContainer").style.display == "block") return;
}
if (document.getElementById("Ids").style.display == "block") document.getElementById("Ids").focus();
}
function AddPage()
{
title = "e-Crew";
url = location.href;
if (window.sidebar)
{
window.sidebar.addPanel(title,url,"");
}
else if (window.external)
{
window.external.AddFavorite(url,title);
}
}
function AddHome()
{
if (document.all)
{
document.body.style.behavior='url(#default#homepage)';
document.body.setHomepage(location.href);
} else if (window.sidebar)
{
if (window.netscape)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch(e)
{
alert('Your browser does not allow the specific operation.');
}
}
var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
prefs.setCharPref('browser.startup.homepage',location.href);
}
}
function applystylesheet(aObj,aClassName)
{
aObj.className = aClassName;
}
//-->
</script>
</head>
<body class="body_pi" onLoad="preparepage();" oncontextmenu="if(document.all) document.body.focus(); return false" onmousedown="resetcount()" onkeydown="resetcount();" >
<form method="POST" name="oForm">
<input type="hidden" name="Crew_Psw" id="Crew_Psw">
<input type="hidden" name="Crew_Id" id="Crew_Id">
<input type="hidden" name="CHK" id="CHK">
<input type="hidden" name="CR" id="CR">
<input type="hidden" name="UNO" id="UNO">
<input type="hidden" name="EXITBTN" id="EXITBTN">
<input type="hidden" name="VER" id="VER">
<input type="hidden" name="LANG_CODE" id="LANG_CODE">
<input type="hidden" name="LANG_ISO" id="LANG_ISO">
<input type="hidden" name="UserAgent" id="UserAgent" value="">
<input type="hidden" name="AD" id="AD" value="">
<input type="hidden" name="Crm" id="Crm">
<!--KEYBOARD TABLE-->
<div id="touch_table" align="center" style="display:none; position:absolute; right:37px; top:142px; width:336px;">
<div id="keys1" align="center">
<button type="button" onClick="SelectID(this);" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_1">1</button>
<button type="button" onClick="SelectID(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_2">2</button>
<button type="button" onClick="SelectID(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_3">3</button><br><br>
<button type="button" onClick="SelectID(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_4">4</button>
<button type="button" onClick="SelectID(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_5">5</button>
<button type="button" onClick="SelectID(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_6">6</button><br><br>
<button type="button" onClick="SelectID(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_7">7</button>
<button type="button" onClick="SelectID(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_8">8</button>
<button type="button" onClick="SelectID(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_9">9</button><br><br>
<button type="button" onClick="SelectID(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_0">0</button>
<input type="button" onClick="SelectID(this)" onmousedown="this.className = 'touchpadbuttons-clicked-del'" onmouseup="this.className = 'touchpadbuttondel'" onmouseover="this.className = 'touchpadbuttons-clicked-del'" onmouseout="this.className = 'touchpadbuttondel'" class="touchpadbuttondel" value="Delete" name="btn_back" id="del_char_id">
</div>
<div id="keys2" align="center" style="display:none;">
<button type="button" onClick="SelectPSW(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_1">1</button>
<button type="button" onClick="SelectPSW(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_2">2</button>
<button type="button" onClick="SelectPSW(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_3">3</button><br><br>
<button type="button" onClick="SelectPSW(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_4">4</button>
<button type="button" onClick="SelectPSW(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_5">5</button>
<button type="button" onClick="SelectPSW(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_6">6</button><br><br>
<button type="button" onClick="SelectPSW(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_7">7</button>
<button type="button" onClick="SelectPSW(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_8">8</button>
<button type="button" onClick="SelectPSW(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_9">9</button><br><br>
<button type="button" onClick="SelectPSW(this)" onmousedown="this.className = 'touchpadbuttons-clicked'" onmouseup="this.className = 'touchpadbuttons'" onmouseover="this.className = 'touchpadbuttons-clicked'" onmouseout="this.className = 'touchpadbuttons'" class="touchpadbuttons" name="btn_0">0</button>
<input type="button" onClick="SelectPSW(this)" onmousedown="this.className = 'touchpadbuttons-clicked-del'" onmouseup="this.className = 'touchpadbuttondel'" onmouseover="this.className = 'touchpadbuttons-clicked-del'" onmouseout="this.className = 'touchpadbuttondel'" class="touchpadbuttondel" value="Delete" name="btn_back" id="del_char_pass">
</div>
</div>
<table border="0" bgcolor="#000000" width="100%" height="100%" id="maintable" cellpadding="0" cellspacing="0">
<tr height="70px">
<td id="login_header_td" align="right" style="padding-right:12px;" colspan="4">
<img src="/wtouch/images/aims_logo.png"></img>
</td>
</tr>
<tr width="100%" height="56px" background="/wtouch/images/login_white_stripe.png" style="background-repeat:repeat-x;">
<td align="left" valign="middle" style="padding-left:5px; background-repeat:repeat-x;" width="60%" background="/wtouch/images/login_white_stripe.png">
<img src="/wtouch/images/ecrew_logo.png"></img>
</td>
<td valign="top" width="40%" background="/wtouch/images/login_white_stripe.png" style="background-repeat:repeat-x;">
<table border="0" cellspacing="0" cellpadding="0" width="470px" style="vertical-align:top">
<tr>
<td width="80px" align="right">
<font id="CrewId_Text" class="login_texts" style="text-align:right">Crew ID</font>
</td>
<td width="140px" align="right" valign="top" style="padding-left:2px;">
<input tabindex="1" type="text" id="Id" style="padding-top:2px; padding-left:2px; height:23px;
background-image:url(/wtouch/images/Text_Box.png);" size="18" maxlength="128"
onKeyDown="KeyIsDown(false,event)">
<input type="text" id="Idt" size="18" maxlength="128" onKeyDown="KeyIsDown(false,event)"
style="display:none; padding-left:2px; height:23px;
background-image:url(/wtouch/images/Text_Box.png);" onFocus="AssignKeys('0')">
</td>
<td width="80px" rowspan="2" id="Login_Btn" align="right" valign="middle">
<button type="button" id="login_button" style="vertical-align:middle; border:none; width:70px; height:56px; background-repeat:repeat;" onClick="dothejob()" onmousedown="applystylesheet(this,'Login_Btn_Clicked');" onmouseout="applystylesheet(this,'Login_Btn');">Login</button>
</td>
<td width="10px" rowspan="2">
</td>
<td width="148px" valign="middle" rowspan="2" align="left" nowrap="nowrap" background="/wtouch/images/ShadedLine.png" style="background-repeat:no-repeat;">
<a onClick="FireForgot()" style="padding-left:10px; width:100%; cursor:help; vertical-align:top">
<font id="Forgotten_Text" class="login_texts">Forgotten your password?</font>
</a>
</td>
</tr>
<tr>
<td width="300px" id="Swipe_Text" style="display:none" nowrap="nowrap">
<font class="login_texts" style="font-size:14px">Please swipe your card to log-in</font>
</td>
<td align="right" width="80px">
<font id="Password_Text" class="login_texts" style="margin-left:15px; display:none;">Password</font>
</td>
<td align="right" valign="bottom" width="140px" style="padding-left:2px; padding-bottom:1px;">
<input tabindex="2" type="password" id="Pass" style="display:none; padding-left:2px;
height:23px; background-image:url(/wtouch/images/Text_Box.png);" size="18" maxlength="128" onKeyPress="KeyIsDown(false,event)">
<input type="password" id="Passt" size="18" maxlength="128" style="display:none; padding-left:2px; height:23px; background-image:url(/wtouch/images/Text_Box.png);"
onKeyDown="KeyIsDown(false,event)" onFocus="AssignKeys('1')">
<input type="password" id="Ids" name="Ids" size="18" maxlength="128" onKeyDown="KeyIsDown(false,event)"
style="display:none; padding-left:2px; height:23px; background-image:url(/wtouch/images/Text_Box.png);" onblur="this.focus();">
</td>
</tr>
</table>
</td>
<td width="2%" background="/wtouch/images/login_white_stripe.png" style="background-repeat:repeat-x;"></td>
</tr>
<tr>
<td id="login_sky_td" width="100%" height="100%" colspan="4">
</td>
</tr>
<tr id="bottom_bar_tr" width="100%" height="13px">
<td id="bottom_bar_td" background="/wtouch/images/BottomBar.png" style="background-repeat:repeat;" colspan="4">
</td>
</tr>
</table>
<!--MOBILE CONTENT -->
<table border="0" width="100%" height="100%" id="mobile_table" cellpadding="0" cellspacing="0" style="display:none;">
<tr height="10%" bgcolor="#003366" class="panel_black">
<td align="center" width="100%" valign="middle" style="background:no-repeat">
<img style="padding-top:10px; padding-bottom:10px;" width="60%" height="60%" src="/wtouch/images/ecrew_mobile.png"></img>
</td>
</tr>
<tr width="100%" height="30%" valign="bottom">
<td width="100%" style="padding-top:10px;" align="center">
<table border="0" width="50%" height="40%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%">
<font id="CrewId_Text" class="login_texts" style="text-align:right; font-size:24px; color:#003;">Crew ID</font>
</td>
</tr>
<tr>
<td width="50%">
<input tabindex="1" type="text" id="mId" style="height:50px; width:100%;" maxlength="128" onKeyDown="KeyIsDown(false,event)">
</td>
</tr>
<tr>
<td width="50%" style="padding-top:10px;">
<font id="Password_Text" class="login_texts" style="text-align:right; font-size:24px;color:#003;">Password</font>
</td>
</tr>
<tr>
<td width="50%">
<input tabindex="2" type="password" id="mPass" style="height:50px; width:100%;" maxlength="128" onKeyDown="KeyIsDown(false,event)">
</td>
</tr>
</table>
</td>
</tr>
<tr height="40%">
<td valign="top" align="center" width="100%" id="Login_Btn" style="padding-top:10px">
<button type="button" class="" id="login_button" style="width:30%; min-height:45px; height:20%; "
onClick="dothejob()"><font style="font-size:24px; font-weight:bolder; color:#fff;">Login</font></button>
</td>
</tr>
<tr height="20%" valign="middle">
<td>
<table width="100%" height="100%" align="center" cellpadding="0" cellspacing="0" border="0">
<tr class="panel_black" width="100%" height="100%">
<td valign="middle" style="font-size:11px; width:50%;" width="50%;"><li style="padding-top:5%">
<font style="font-size:12px;">Select language:</font><br/><button align="center" class="selected_language" name="btn_lang_1" onclick="Change_Language('EN','16')">ENGLISH</button>
</li></td>
<td width="50%" align="right" valign="middle">
<button id="mobile_forgot" class="forgot_btn" onClick="FireForgot()" style="min-height:48px; width:100%; height:48px; cursor:help;">
<font style="color:#FFF; font-size:14px; font-weight:bolder;">Forgotten your password?</font>
</button>
</td>
</tr>
</table>
</td></tr>
</table>
<!--MOBILE CONTENT -->
<!--KEYBOARD TABLE-->
<div style="position:absolute; left:0.5%; top:20%; width:28%; min-height:40%; height:35%; vertical-align:middle" align="left" id="welcome_box_div">
<table id="welcome_box" width="70%" height="90%" border="0" align="left">
<tr>
<td align="center" valign="bottom" width="100%" height="17%" class="menu_head" style="font-size:16px;">
<div align="center" style="width:100%; text-decoration:underline">
Welcome to e-Crew
</div>
</td>
</tr>
<tr>
<td height="83%" valign="top" align="left">
<span style="position:absolute; width:100%; left:1%; align:left;">
<ul class="login_buble" style="list-style-position:inside">
<li style="padding-top:5%">Please click <font style="cursor:help; text-decoration:underline" onClick="">here</font>
if you need assistance
</li>
<li style="padding-top:5%">
<font style="font-size:12px;">Select language:</font><br/><button align="center" class="selected_language" name="btn_lang_1" onclick="Change_Language('EN','16')">ENGLISH</button>
</li>
<li style="padding-top:5%" id="home_page">
<a class="help_menu" onClick="AddHome()" href="">Add e-Crew as your Home page</a>
</li>
<li style="padding-top:5%">
<a class="help_menu" onClick="AddPage()" href="">Add e-Crew to your favorites</a>
</li>
</ul>
</span>
</td>
</tr>
</table>
</div>
<div id="ab_only_choices" style="position:absolute; right:30%; top:20%; width:35%; min-height:20%; height:20%; vertical-align:central" align="center"></div>
<div align="center" id="serverisdown" style="display:none; color:yellow; background-color:#000; font-size:30px"></div>
<div align="center" id="cookies_" style="display:none; color:yellow; background-color:#000; font-size:30px">Please turn on the Cookies of your browser!</div>
<div align="center" style="display:none;">QTR</div>
</form>
</body>
</html>
Une fois le login et le mot de passe complétés manuellement, j'arrive sur la page /wtouch/wtouch.exe/verify qui contient ce code:
<html >
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
<title>e-Crew</title>
<meta id="viewport" name="viewport" content="width=device-width; initial-scale=1.0; minimum-scale=1.0; maximum-scale=1.0"/>
<script src="/wtouch/scrlib.js">
<!-- var scr_loaded = false; -->
</script>
<link rel="stylesheet" href="/navigation.css" type="text/css">
<script language="JavaScript">
var theBar;
var value;
var dotsNum=0;
var test;
var timer1,timer2;
function platformDetect()
{
var timerExp = new Date();
timerExp.setTime(timerExp.getTime()+(12000*1000));
Delete_Cookie("msField","/wtouch","siteinternet.com");
Set_Cookie("msField",timerExp.getTime(),"","/wtouch","siteinternet.com");
if(navigator.appVersion.indexOf("Win") != -1 )
{
document.forms[0].action = "/wtouch/perinfo.exe/index";
document.forms[0].submit();
}
else if(navigator.appVersion.indexOf("Mac") != -1 || isMobile() || (navigator.appVersion.indexOf("CrOS") != -1) || (DetectMobile(navigator.userAgent||navigator.vendor||window.opera,'www.aims.aero')) )
{
window.location.href = "/wtouch/perinfo.exe/index";
}
else
{
return;
}
}
function initProgressBar()
{
genDots();
showSpinner("/wtouch/images/loading.gif");
window.setTimeout(platformDetect,100);
}
//------------------------ max -------------------------------------------------
function resetValue(){
value = 0;
}
function showProgress(){
value++;
theBar.setValue(value);
if(value<100){
timer1 = window.setTimeout(showProgress,10);
}
}
function genDots(){
test = document.getElementById('dots');
if(dotsNum <= 13){
test.innerHTML=test.innerHTML+'.';
dotsNum++;
timer2 = window.setTimeout(genDots,100);
}
else
resetDots();
}
function resetDots(){
dotsNum = 0;
test.innerHTML=' ';
genDots();
}
function disableRightClick(e)
{
if(!document.rightClickDisabled) // initialize
{
if(document.layers)
{
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = disableRightClick;
}
else
{
document.oncontextmenu = disableRightClick;
}
return document.rightClickDisabled = true;
}
if(document.layers || (document.getElementById && !document.all))
{
if (e.which==2||e.which==3)
{
return false;
}
}
else
{
return false;
}
}
disableRightClick(); // We need this function for CrewRoom
</script>
</head>
<body onload="initProgressBar();" style="background:#F2F2F2 url('/wtouch/images/grey_back_options.jpg') repeat-x; width:100%; height:100%" >
<div style="left:35%;" class="progressLoading">Please Wait</div>
<div style="left:60%;" class="progressLoading" id="dots"></div>
<form>
</form>
</body>
</html>
Et qui ensuite affiche la page /wtouch/perinfo.exe/index
J'ai donc insérer le code Curl suivant pour une connexion automatique:
<?php
//The username or email address of the account.
define('ID', 'monidentifiant');
//The password of the account.
define('PASSWORD', 'monmotdepasse');
//Other values
define('CREWPSW', '');
define('CREWID', base64_encode(ID));
define('CHK', '');
define('CR', '');
define('UNO', '');
define('EXITBTN', '');
define('VER', '');
define('LANGCODE', 'EN');
define('LANGISO', '16');
define('AD', PASSWORD);
define('CRM', md5(PASSWORD));
define('IDT', '');
define('PASST', '');
define('IDS', '');
//Set a user agent. This basically tells the server that we are using Chrome ;)
define('USER_AGENT', 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2309.372 Safari/537.36');
//Where our cookie information will be stored (needed for authentication).
define('COOKIE_FILE', 'cookie.txt');
//URL of the login form.
define('LOGIN_FORM_URL', 'https://siteinternet.com/wtouch/wtouch.exe/index');
//Login action URL. Sometimes, this is the same URL as the login form.
define('LOGIN_ACTION_URL', 'https://siteinternet.com/wtouch/wtouch.exe/verify');
//An associative array that represents the required form fields.
//You will need to change the keys / index names to match the name of the form
//fields.
$postValues = array(
'Crew_Psw' => CREWPSW,
'Crew_Id' => CREWID,
'CHK' => CHK,
'CR' => CR,
'UNO' => UNO,
'EXITBTN' => EXITBTN,
'VER' => VER,
'LANG_CODE' => LANGCODE,
'LANG_ISO' => LANGISO,
'UserAgent' => USER_AGENT,
'AD' => AD,
'Crm' => CRM,
'Id' => ID,
'Idt' => IDT,
'Pass' => PASSWORD,
'Passt' => PASST,
'Ids' => IDS
);
//Initiate cURL.
$curl = curl_init();
//Set the URL that we want to send our POST request to. In this
//case, it's the action URL of the login form.
curl_setopt($curl, CURLOPT_URL, LOGIN_ACTION_URL);
//Tell cURL that we want to carry out a POST request.
curl_setopt($curl, CURLOPT_POST, true);
//Set our post fields / date (from the array above).
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postValues));
//We don't want any HTTPS errors.
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
//Where our cookie details are saved. This is typically required
//for authentication, as the session ID is usually saved in the cookie file.
curl_setopt($curl, CURLOPT_COOKIEJAR, COOKIE_FILE);
//Sets the user agent. Some websites will attempt to block bot user agents.
//Hence the reason I gave it a Chrome user agent.
curl_setopt($curl, CURLOPT_USERAGENT, USER_AGENT);
//Tells cURL to return the output once the request has been executed.
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//Allows us to set the referer header. In this particular case, we are
//fooling the server into thinking that we were referred by the login form.
curl_setopt($curl, CURLOPT_REFERER, LOGIN_FORM_URL);
//Do we want to follow any redirects?
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
//Execute the login request.
curl_exec($curl);
//Check for errors!
if(curl_errno($curl)){
throw new Exception(curl_error($curl));
echo curl_error($curl);
}
//We should be logged in by now. Let's attempt to access a password protected page
sleep(20);
curl_setopt($curl, CURLOPT_URL, 'https://siteinternet.com/wtouch/perinfo.exe/index');
//Use the same cookie file.
curl_setopt($curl, CURLOPT_COOKIEJAR, COOKIE_FILE);
//Use the same user agent, just in case it is used by the server for session validation.
curl_setopt($curl, CURLOPT_USERAGENT, USER_AGENT);
//We don't want any HTTPS / SSL errors.
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
//Execute the GET request and print out the result.
echo curl_exec($curl);
?>
Malheureusement je n'arrive pas sur la page finale. Parfois j'obtiens une page vide avec un fond gris, parfois une erreur 500 (identique a ce que j'obtiens si j'essaie d'ouvrir directement la page /wtouch/perinfo.exe/index sans passer par le login)
Une idée de ce qu'il manque pour que j'arrive a me connecter avec Curl?
Merci d'avance