HenryGlazt

Gett Token Twitter

Nov 6th, 2014
392
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.23 KB | None | 0 0
  1. <?php
  2. #!+++++++++++++++++++++++++++++
  3. #! Script Get Token Twitter
  4. #! Author : HenryGlazt
  5. #! Thanks To my Lovely Shinta Naomi :*
  6. #!+++++++++++++++++++++++++++++
  7.  
  8. $debug = false;
  9.  
  10. if( !count($_POST) ){
  11.  
  12. ?>
  13. dapatkan token<br/>
  14. <form method="POST">
  15. Consumer key:<input type="text" name="ck" value="<?php echo $_GET['ck']; ?>"/><br />
  16. Consumer secret:<input type="text" name="cs" value="<?php echo $_GET['cs']; ?>"/><br />
  17. Twitter id:<input type="text" name="ti"value="<?php echo $_GET['ti']; ?>"/><br />
  18. Twitter pass:<input type="password" name="tp"/><br />
  19. <input type="submit" value="submit"/>
  20. </form>
  21.  
  22.  
  23. <?php
  24.  
  25. }else{
  26.  
  27. include 'HTTP/OAuth/Consumer.php';
  28. $consumer = new HTTP_OAuth_Consumer($_POST['ck'], $_POST['cs']);
  29.  
  30. $http_request = new HTTP_Request2();
  31. $http_request->setConfig('ssl_verify_peer', false);
  32. $consumer_request = new HTTP_OAuth_Consumer_Request;
  33. $consumer_request->accept($http_request);
  34. $consumer->accept($consumer_request);
  35.  
  36. $consumer->getRequestToken('https://twitter.com/oauth/request_token');
  37.  
  38. $oauth_token = $consumer->getToken();
  39. //$consumer->getTokenSecret();
  40.  
  41. $auth_url = $consumer->getAuthorizeUrl('https://twitter.com/oauth/authorize');
  42. if( $debug ){ print "auth_url:$auth_url\n"; }
  43.  
  44. //get
  45. $fp = fopen("tmp", "w");
  46. $ch = curl_init($auth_url);
  47. curl_setopt($ch, CURLOPT_SSLVERSION, 3);
  48. curl_setopt($ch, CURLOPT_HEADER, FALSE);
  49. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  50. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  51. curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie");
  52. curl_setopt($ch, CURLOPT_WRITEHEADER, $fp);
  53. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //サーバ証明書検証をスキップ
  54. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //  〃
  55. $result = curl_exec($ch);
  56. fclose($fp);
  57. curl_close($ch);
  58.  
  59. if( $debug ){print $result; }
  60.  
  61. //authenticity_tokenをスクレイピングで取得
  62. preg_match( '/authenticity_token.*?value="(.*?)"/',$result,$matches);
  63. $authenticity_token = $matches[1];
  64. if( $debug ){ print "authenticity_token:$authenticity_token\n"; }
  65.  
  66. $post = "authenticity_token=$authenticity_token&oauth_token=$oauth_token&session[username_or_email]=".$_POST['ti']."&session[password]=".$_POST['tp'];
  67.  
  68. //post
  69. $ch = curl_init('https://twitter.com/oauth/authorize');
  70. curl_setopt($ch, CURLOPT_SSLVERSION, 3);
  71. curl_setopt($ch, CURLOPT_HEADER, FALSE);
  72. curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  73. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  74. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  75. curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie");
  76. curl_setopt($ch, CURLOPT_COOKIEFILE, "/usr/local/sfw/create_token/tmp");
  77. curl_setopt($ch, CURLOPT_POST, TRUE);
  78. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //サーバ証明書検証をスキップ
  79. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //  〃
  80. curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
  81. $result = curl_exec($ch);
  82. curl_close($ch);
  83.  
  84. if( $debug ){print $result; }
  85.  
  86. preg_match( '/oauth_pin">\s*(\d{7})/',$result,$matches);
  87. $oauth_pin = $matches[1];
  88.  
  89. print "oauth_pin:$oauth_pin\n";
  90.  
  91. if( $oauth_pin ){
  92.  
  93. $consumer->getAccessToken('https://twitter.com/oauth/access_token', $oauth_pin );
  94.  
  95. print "access_token:".$consumer->getToken()."\n";
  96. print "access_token_secret:".$consumer->getTokenSecret()."\n";
  97.  
  98. }
  99.  
  100. }
Advertisement
Add Comment
Please, Sign In to add comment