PHPcurl logon
The above code is not perfect. we should store the cookie in the cache, and it should not be persistent. In addition, such persistence can only be accessed by a single user.
Therefore, we only need to set
CURLOPT_COOKIESESSION
As follows:
= $ Curl_max_loops) {$ curl_loops = 0; return FALSE;} curl_setopt ($ ch, CURLOPT_HEADER, true ); // enable the header to capture the redirected New URL curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); $ data = curl_exec ($ ch ); // split the returned content $ h_len = curl_getinfo ($ ch, CURLINFO_HEADER_SIZE); $ header = substr ($ data, 0, $ h_len); $ data = substr ($ data, $ h_len-1); $ http_code = curl_getinfo ($ ch, CURLINFO_HTTP_CODE); if ($ http_code = 301 | $ h Ttp_code = 302) {$ matches = array (); preg_match ('/Location :(.*?) \ N/', $ header, $ matches); $ url = @ parse_url (trim (array_pop ($ matches); // print_r ($ url); if (! $ Url) {// couldn't process the url to redirect to $ curl_loops = 0; return $ data ;}$ last_url = parse_url (curl_getinfo ($ ch, CURLINFO_EFFECTIVE_URL )); if (! Isset ($ url ['scheme ']) $ url ['scheme'] = $ last_url ['scheme ']; if (! Isset ($ url ['host']) $ url ['host'] = $ last_url ['host']; if (! Isset ($ url ['path']) $ url ['path'] = $ last_url ['path']; $ new_url = $ url ['scheme ']. '://'. $ url ['host']. $ url ['path']. (isset ($ url ['query'])? '? '. $ Url ['query']: ''); curl_setopt ($ ch, CURLOPT_URL, $ new_url); return curl_redir_exec ($ ch);} else {$ curl_loops = 0; return $ data ;}}?>