Я пытаюсь проанализировать страницу, для которой я должен сначала войти на этот сайт с именем пользователя и паролем. Поэтому я начал со скрипта php cURL для входа на страницу с помощью метода GET, но проблема в том, что я получаю сообщение об ошибке тайм-аута каждый раз, как бы долго я ни устанавливал.
Страница входа: http://myaccount.comeconnect.com/jsp/Login.jsp
URL-адрес, используемый в cURL: http://myaccount.comeconnect.com/servlet/MyAccountLogin?loginMode=2&username=user&password=pass&QuickNavigation=Disabled
с действительными, пользовательскими и передаваемыми значениями.
Теперь, когда я использую этот URL в браузере, я легко захожу в систему. Поэтому я не совсем понимаю, почему я получаю ошибки тайм-аута.
PHP-код не на том же сервере.
Код PHP:
//create array of data to be posted
$post_data['loginMode'] = '2';
$post_data['username'] = $_GET['user'];
$post_data['password'] = $_GET['pass'];
$post_data['QuickNavigation'] = "Disabled";
//traverse array and prepare data for posting (key1=value1)
foreach ( $post_data as $key => $value) {
$post_items[] = $key . '=' . $value;
}
//create the final string to be posted using implode()
$post_string = implode ('&', $post_items);
$user = $_GET['user'];
$pass = $_GET['pass'];
//create array of data to be posted
$post_data = array( 'loginMode' => '2',
'username' => $user,
'password' => $pass,
'QuickNavigation' => "Disabled");
//create the final string to be posted using implode()
$post_string = http_build_query($post_data, '', '&');
//Params for cURL
$ckfile = './cookie.txt';
$url = 'http://myaccount.comeconnect.com/servlet/MyAccountLogin?'.$post_string;
$timeout=10;
$userAgent= "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1";
//create cURL connection
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT,$timeout);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
$result = curl_exec($ch);
print_r(curl_getinfo($ch));
echo curl_errno($ch) . '-' .curl_error($ch);
curl_close($ch);
echo $result;