0
我試圖登錄到它具有以下形式的網站:PHP的捲曲發送信息,以滿足隱藏輸入
<div class="inner">
<form name="loginform" action="/site/?module=account&action=login&return_url=" method="post">
<input type="hidden" name="server" value="nice">
<div class="inputs">
<div class="user">
<input style="width: 108px;" id="login_user" type="text" name="username" value="username" onfocus="inputFocus(this)" onblur="inputBlur(this)" />
</div>
<div class="pass">
<input style="width: 108px;" id="login_pass" type="password" name="password" value="password" onfocus="inputFocus(this)" onblur="inputBlur(this)" />
<input type="submit" style="visibility:hidden"/>
</div>
</div>
<div class="submit">
<div class="submit-btn" onclick="document.loginform.submit();"></div>
</div>
<div class="clear"></div>
<div class="links">
<a href="/site/?module=account&action=resetpass">Forgot Password?</a>
</div>
</form>
</div>
使用這個PHP腳本:
<?php
$username="";
$password="";
$url="(handled this)";
$cookie="cookie.txt";
$postdata = "username=".$username."&password=".$password;
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_REFERER, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
echo $result;
curl_close($ch);
?>
將輸出:
Invalid login server selected, please try again with a valid server.
因爲我沒有滿足隱藏的輸入。 我試圖在谷歌搜索,但我看不到一個PHP腳本,應該爲此工作。 對不起,我在課堂上沒有教過cURL。
如果這只是一個不發送隱藏字段數據的問題......那麼爲什麼不直接發送呢?你已經有了用戶名和密碼。 –