Witam,
ktoś robił może logowanie do Tumblra via curl? Da rade zrobić logowanie via curl czy tylko przez api Tumblra?
Z góry dzieki za odp.
<div class="form_row_hidden"><input type="hidden" value="login" name="context"></input><input type="hidden" value="" name="follow"></input><input type="hidden" value="https://www.tumblr.com/login" name="http_referer"></input><input type="hidden" value="!1231378117324|ZocjPLAmcBjZtcF7P35Krtuls" name="form_key"></input><input id="seen_suggestion" type="hidden" value="0" name="seen_suggestion"></input><input id="used_suggestion" type="hidden" value="0" name="used_suggestion"></input></div>
user%5Bemail%5D=asdf&user%5Bpassword%5D=asdf&tumblelog%5Bname%5D=&user%5Bage%5D=&recaptcha_public_key=6Lf4osISAAAAAJHn-CxSkM9YFNbirusAOEmxqMlZ&recaptcha_response_field=&context=home_signup&follow=&http_referer=https%3A%2F%2Fwww.tumblr.com%2F&form_key=%211231378117316%7CMzSUQp64GQIMz8M9rKYTSzOs3E&seen_suggestion=0&used_suggestion=0
private function preciseBetweenstring($str,$first_start,$first_end,$second_start,$second_end,$mode = 1){ if($mode == 1){ $str = $first; } elseif($mode ==2){ $str = $therest; } } private function getInbetweenStrings($start, $end, $str) { $regex = "/$start(.*?)$end/"; return $matches[1]; }
include ('simple_html_dom.php'); function get_data($url, $post=null, $header=false, $cookie=null){ $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); if($header) curl_setopt($ch, CURLOPT_HEADER, true); if($cookie) curl_setopt($ch, CURLOPT_COOKIE, $cookie); return curl_exec($ch); } // function add_postfields($data, &$post){ $site = new DOMDocument(); @$site->loadHTML($data); $inputs = $site->getElementsByTagName('input'); foreach($inputs AS $input){ if($input->hasAttribute('name')){ switch($input->getAttributeNode('name')->value){ case 'recaptcha_public_key': $post['recaptcha_public_key'] = $input->getAttributeNode('value')->value; break; case 'recaptcha_response_field': $post['recaptcha_response_field'] = $input->getAttributeNode('placeholder')->value; break; case 'http_referer': $post['http_referer'] = $input->getAttributeNode('value')->value; break; case 'form_key': $post['form_key'] = $input->getAttributeNode('value')->value; break; } } } } // function get_cookies($data){ } // function tumblr($url, $email, $password){ 'user[email]' => $email, 'user[password]' => $password, 'user[age]' => 50, 'user[tos]' => 1 ); add_postfields(get_data('http://www.tumblr.com/login', http_build_query($post)), $post); $cookie = get_cookies(get_data('http://www.tumblr.com/login', http_build_query($post), true), $post); return get_data($url, null, false, $cookie); } $url = 'http://www.tumblr.com/new/blog'; $email = 'a@b.pl'; $password = '123'; $data = tumblr($url, $email, $password);