Heim  >  Artikel  >  Backend-Entwicklung  >  Die PHP-Funktion „curl_setopt“ simuliert ein Beispiel für die Benutzeranmeldung

Die PHP-Funktion „curl_setopt“ simuliert ein Beispiel für die Benutzeranmeldung

怪我咯
怪我咯Original
2017-05-19 15:51:051404Durchsuche

Die PHP-Funktion „curl_setopt()“ legt Optionen für eine CURL-Sitzung fest. Es handelt sich um eine wichtige Funktion in PHP. Sie kann einige Benutzerverhalten nachahmen, z. B. die Simulation der Benutzeranmeldung, der Registrierung und anderer vom Benutzer bedienbarer Verhaltensweisen. In diesem Artikel erfahren Sie anhand eines Beispiels, wie Sie die Funktion „curl_setopt“ in PHP verwenden, um die Benutzeranmeldung zu simulieren.

Der tatsächliche Code plus Codeerklärung ist die beste Hilfe für Sie, um das Beispiel der PHP-Funktion „curl_setopt“ zu verstehen, die die Benutzeranmeldung simuliert:

Werfen wir zunächst einen Blick auf die Anmeldung Teil des Codes:

//模拟登录 
function login_post($url, $cookie, $post) { 
  $curl = curl_init();//初始化curl模块 
  curl_setopt($curl, CURLOPT_URL, $url);//登录提交的地址 
  curl_setopt($curl, CURLOPT_HEADER, 0);//是否显示头信息 
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);//是否自动显示返回的信息 
  curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie); //设置Cookie信息保存在指定的文件中 
  curl_setopt($curl, CURLOPT_POST, 1);//post方式提交 
  curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));//要提交的信息 
  curl_exec($curl);//执行cURL 
  curl_close($curl);//关闭cURL资源,并且释放系统资源 
}
Die Funktion login_post() initialisiert zuerst curl_init() und verwendet dann curl_setopt(), um relevante Optionsinformationen festzulegen, einschließlich der zu übermittelnden URL-Adresse, der gespeicherten Cookie-Datei, und Daten posten (Benutzername und Passwort usw.), ob Informationen zurückgegeben werden sollen usw., dann führt curl_exec Curl aus und schließlich gibt curl_close() die Ressourcen frei. Beachten Sie, dass PHPs eigene http_build_query() Arrays in verbundene Strings konvertieren kann.

Wenn die Anmeldung erfolgreich ist, müssen wir als Nächstes die Seiteninformationen abrufen, nachdem die Anmeldung erfolgreich war.

//登录成功后获取数据 
function get_content($url, $cookie) { 
  $ch = curl_init(); 
  curl_setopt($ch, CURLOPT_URL, $url); 
  curl_setopt($ch, CURLOPT_HEADER, 0); 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
  curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //读取cookie 
  $rs = curl_exec($ch); //执行cURL抓取页面内容 
  curl_close($ch); 
  return $rs; 
}
Die Funktion get_content() initialisiert ebenfalls zuerst Curl, legt dann relevante Optionen fest, führt Curl aus und gibt Ressourcen frei. Unter anderem setzen wir CURLOPT_RETURNTRANSFER auf 1, um automatisch Informationen zurückzugeben, und CURLOPT_COOKIEFILE kann die beim Anmelden gespeicherten Cookie-Informationen lesen und schließlich den Seiteninhalt zurückgeben.

Unser oberstes Ziel ist es, die Informationen nach der simulierten Anmeldung zu erhalten. Dabei handelt es sich um nützliche Informationen, die nur nach erfolgreicher normaler Anmeldung erhalten werden können. Als nächstes nehmen wir die Anmeldung bei der chinesischen PHP-Website als Beispiel, um zu sehen, wie die Informationen nach erfolgreicher Anmeldung erfasst werden.

//设置post的数据 
$post = array ( 
  'email' => 'oschina账户', 
  'pwd' => 'oschina密码', 
  'goto_page' => '/my', 
  'error_page' => '/login', 
  'save_login' => '1', 
  'submit' => '现在登录'
); 
 //登录地址 $url = "http://www.php.cn/action/user/login.html"; //设置cookie保存路径 $cookie = dirname(__FILE__) . '/cookie_oschina.txt'; //登录后要获取信息的地址 $url2 = "http://m.oschina.net/my"; //模拟登录 
login_post($url, $cookie, $post); //获取登录页的信息 $content = get_content($url2, $cookie); //删除cookie文件 
@ unlink($cookie); //匹配页面信息 $preg = "/<td class=&#39;portrait&#39;>(.*)<\/td>/i"; 
preg_match_all($preg, $content, $arr); $str = $arr[1][0]; //输出内容 echo $str;
Nutzungszusammenfassung

1. Curl_setopt verwenden, um die Ziel-URL festzulegen

3 , Curl ausführen

Nach der Ausführung Curl schließen;

[Empfohlene verwandte Artikel]

1.

Einführung in das Konzept und Anwendungsbeispiele der PHP-Funktion „curl_setopt“

2.

Verwendung der PHP-Funktion „curl_setopt()“ Ein einfaches Beispiel für die Erfassung von Webseiten und POST-Daten

3.

Detaillierte Erläuterung der Anwendungsbeispiele der PHP-Funktion „curl_exec“

Das obige ist der detaillierte Inhalt vonDie PHP-Funktion „curl_setopt“ simuliert ein Beispiel für die Benutzeranmeldung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn