我正在使用php
代碼來登錄到一個網站, 我使用curl來做到這一點,但我有一個問題:(登錄到特定的網站...當我使用這個代碼,它不會登錄(這意味着如果我發佈了錯誤的密碼或錯誤的用戶名,它不會顯示登錄錯誤,我認爲它不會發布我的數據?!?!?!?!我不知道,請查看代碼的打擊)使用curl登錄到網站
<?php
$ch = curl_init();
$url = 'http://example.com/login.php';
$data = "css/style1.css";
curl_setopt($ch, CURLOPT_URL, $url.'/index.php');
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/32.0.1700.107 Chrome/32.0.1700.107 Safari/537.36');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=something&password=something");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$answer = curl_exec($ch);
$answer = str_replace('href="','href="'.$url.'/',$answer);
echo $answer;
?>
我應該說我用這個代碼在其他網站的URL,但它的工作原理,它顯示了我的錯誤登錄,但在這個網站它不工作.. ..
這裏是我的網址HTML源登錄(登錄頁面):
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>my url code</title>
<link rel="stylesheet" href="css/style1.css">
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>
<body>
<div id="header_outer">
</div>
<form method="post" action="" class="login">
<p>
<label for="login">Username: </label>
<input type="text" name="username" id="username" value="">
</p>
<p>
<label for="password">Password: </label>
<input type="password" name="password" id="password" value="">
</p>
<p class="login-submit">
<button type="submit" name="Login" class="login-button">Login</button>
</p>
<p class="forgot-password"><a href="forgot.php">Forgot your password?</a></p>
\t \t
</form>
</body>
</html>
啓用'CURLOPT_VERBOSE'進行調試。 (不,沒有人可以在沒有具體的錯誤信息的情況下告訴你什麼是錯誤的,或者知道示例站點如何處理登錄[或阻止腳本訪問]真的。雙'/ index.php'可能是相關的,而且缺少提交按鈕請求值。) – mario
in'CURLOPT_POSTFIELDS' **'** password **'的** p **缺失 – mmm
親愛的馬里奧CURLOPT_VERBOSE未定義常量 –