· 6 years ago · Aug 06, 2019, 11:32 AM
1<?php
2 function request_token()
3 {
4 // Set url
5 //$url = 'http://api.twitter.com/oauth/request_token'; // http://api.twitter.com/oauth/request_token
6 $request_token = "https://ton.twitter.com/i/ton/data/dm/1153505000825376772/1153504994789752832/TiJ4gm25.png";
7 $key = 'W4cvPADKl1Q7qIWEYgj17U5TB';
8 $secret = 'ONASJkMXh8n2PHorQM8a5ucha8R6x93Bx63uyUmCPNJjAOlsc7';
9 $params = array(
10 "oauth_version" => "1.0",
11 "oauth_nonce" => time(),
12 "oauth_timestamp" => time(),
13 "oauth_consumer_key" => "W4cvPADKl1Q7qIWEYgj17U5TB",
14 "oauth_token" => "1143425351994859520-2ZVLnmbf7GReXFzJThhEp6sDMVgmNz",
15 "oauth_signature_method" => "HMAC-SHA1"
16 );
17
18 //print "<pre>"; print_r($params); print "</pre>";
19
20 // Create Signature
21 $concatenatedParams = '';
22 foreach($params as $k => $v){
23 $concatenatedParams .= "{$k}={$v}&";
24 }
25 $concatenatedParams = substr($concatenatedParams,0,-1);
26
27 $signatureBaseString = "GET&".urlencode($request_token)."&".urlencode($concatenatedParams);
28 $params['oauth_signature'] = base64_encode(hash_hmac('SHA1', $signatureBaseString, "ONASJkMXh8n2PHorQM8a5ucha8R6x93Bx63uyUmCPNJjAOlsc7&", TRUE));
29
30 echo "signatur => ".$signa = $params['oauth_signature'];
31 // Do cURL
32
33$ch = curl_init();
34curl_setopt($ch, CURLOPT_URL, $request_token);
35curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
36
37 $headers = [
38 'Authorization: OAuth',
39 'oauth_consumer_key="W4cvPADKl1Q7qIWEYgj17U5TB',
40 'oauth_nonce="'.time().'"',
41 'oauth_signature="'.$signa.'"',
42 'oauth_signature_method="HMAC-SHA1"',
43 'oauth_timestamp="'.time().'"',
44 'oauth_token="1143425351994859520-2ZVLnmbf7GReXFzJThhEp6sDMVgmNz"',
45 'oauth_version="1.0"',
46 'Content-Type: application/x-www-form-urlencoded',
47 'Host: ton.twitter.com',
48 'User-Agent: OAuth gem v0.4.4'
49
50
51];
52
53curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
54
55$server_output = curl_exec ($ch);
56 $info = curl_getinfo($ch);
57curl_close ($ch);
58
59echo $server_output;
60 print "<pre>"; print_r($info); print "</pre>";
61 }
62
63//header('Content-type: image/jpeg');
64 request_token();
65// echo $signa;
66 ?>