[英]How to login in a website that uses facebook connect via PHP curl
[英]Login to website via php in three steps
我可以通過PHP登錄網站並獲取內容並執行其他操作。 看我的編碼:
<?php
//Upload a blank cookie.txt to the same directory as this file with a CHMOD/Permission to 777
function login($url,$data){
$fp = fopen("cookie.txt", "w");
fclose($fp);
$login = curl_init();
curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($login, CURLOPT_TIMEOUT, 40000);
curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($login, CURLOPT_URL, $url);
curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($login, CURLOPT_POST, TRUE);
curl_setopt($login, CURLOPT_POSTFIELDS, $data);
ob_start();
return curl_exec ($login);
ob_end_clean();
curl_close ($login);
unset($login);
}
function grab_page($site){
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_URL, $site);
ob_start();
return curl_exec ($ch);
ob_end_clean();
curl_close ($ch);
}
function post_data($site,$data){
$datapost = curl_init();
$headers = array("Expect:");
curl_setopt($datapost, CURLOPT_URL, $site);
curl_setopt($datapost, CURLOPT_TIMEOUT, 40000);
curl_setopt($datapost, CURLOPT_HEADER, TRUE);
curl_setopt($datapost, CURLOPT_HTTPHEADER, $headers);
curl_setopt($datapost, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($datapost, CURLOPT_POST, TRUE);
curl_setopt($datapost, CURLOPT_POSTFIELDS, $data);
curl_setopt($datapost, CURLOPT_COOKIEFILE, "cookie.txt");
ob_start();
return curl_exec ($datapost);
ob_end_clean();
curl_close ($datapost);
unset($datapost);
}
?>
<?php
//for grabbing:
echo function grab_page("https://accounts.google.com/ServiceLogin?service=mail&continue=https://mail.google.com/mail/#identifier");
?>
And for login it is:
<?php
function login(https://accounts.google.com/ServiceLogin?service=mail&continue=https://mail.google.com/mail/#identifier,username and password){
$fp = fopen("cookie.txt", "w");
?>
這些東西只是簡單地抓住頁面並自動登錄即可正常工作,並且可以在大多數網站上工作。 問題是我要登錄的網站是3步,意味着輸入用戶名和密碼后,它會顯示以下屏幕: http : //i.imgur.com/sL7Pwgn.png勾選圖像並輸入密碼。 即使輸入了它,它也會顯示一個新屏幕,例如: http ://i.imgur.com/3iLDFFI.png,每次我以另一個身份登錄時它都會隨機出現:i.imgur.com/Ee85kre.png問題是如何解決我通過PHP curl跨越所有障礙登錄。我搜索了Google,但甚至只是簡單的登錄腳本就出現了。請提出一些建議。
您可以嘗試使用在數據庫中連接到用戶的令牌進行嘗試。 每個用戶的唯一身份。
注冊時,您可以使用用戶名,密碼ip和鹽創建一個。 然后,您將帶有URL中標記的鏈接郵寄給新用戶的鏈接,當您的腳本提取該鏈接時,當所有設置正確時,將用戶登錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.