public static function init($u, $p, $cookie = self::COOKIE) { $v2ex = new V2ex(); $v2ex->u = $u; $v2ex->p = $p; $v2ex->cookie = $cookie; $v2ex->login(); return $v2ex; }
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $this->signInUrl); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0); curl_setopt($curl, CURLOPT_COOKIEJAR, $this->cookie); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($this->postData)); curl_exec($curl); curl_close($curl); } // fetch content public function getContent() { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $this->contentUrl); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookie); $rs = curl_exec($ch); curl_close($ch); return $rs; } } $signInUrl = 'http://m.oschina.net/action/user/login'; $contentUrl = 'http://m.oschina.net/my'; $cookie = dirname(__FILE__) . '/cookie_v2ex.txt'; $postData = array('email' => '*****@*****.**', 'pwd' => 'zxcvbnm909', 'goto_page' => '/my', 'error_page' => '/login', 'save_login' => '1', 'submit' => '现在登录'); $v2ex = new V2ex($signInUrl, $contentUrl, $cookie, $postData); $v2ex->login(); $content = $v2ex->getContent(); var_dump($content);