如果你是個(gè)微博同步控,這篇文章可以助你一臂之力。首先 Follow5 可以用來(lái)同步幾乎所有微博,不過(guò)大名鼎鼎的騰訊微博不可以,那么本文就此應(yīng)運(yùn)而生。編程語(yǔ)言用的PHP,運(yùn)行在開(kāi)啟了 curl 的 PHP 服務(wù)器上,所以首先要確定你的服務(wù)器開(kāi)啟了 curl。本段代碼主要是實(shí)現(xiàn)發(fā)微博到 Follow5 和騰訊微博,利用 Follow5 的五步大同功能,就不必再發(fā)其它微博上了。
本文主要參考了三篇文章:騰訊微博API,同步消息到騰訊微博,發(fā)布一個(gè)Follow5的API PHP類(lèi) 。因此如果你對(duì)本文有任何不理解的地方,可以詳細(xì)閱讀以上文章。
閑話少說(shuō),發(fā)表微博到 Follow5,你還得需要一個(gè) Follow5 的 key,在這里我要表?yè)P(yáng) Follow5 辦事效率高,一個(gè)晚上就將 key 發(fā)給我了,太高興了。以下就是代碼,如果因?yàn)榇a損害了原博主,還請(qǐng)告知。本文對(duì) PHP 和 python 一竅不通,所以幾乎都是啃大家的代碼然后加以組合。
02 |
if ( $_POST [ 'status' ]) { |
03 |
$status = $_POST [ 'status' ]; |
04 |
update_follow5( 'username' , 'password' , $status ); |
07 |
update_qq( 'username' , 'password' , $status ); |
10 |
header( "location: xxxxx.html" ); |
13 |
function update_follow5( $username , $password , $status ){ |
15 |
$api_key = 'xxxxxxxxxxxxxxxx' ; |
16 |
$usr = $username . ':' . $password ; |
17 |
$str = 'status=' .urlencode( stripslashes ( $status )). '&api_key=' . $api_key ; |
20 |
postCurl( $url , $usr , $str ); |
24 |
function postCurl( $url , $usr , $str ) { |
25 |
$ch = curl_init( $url ); |
26 |
curl_setopt( $ch , CURLOPT_RETURNTRANSFER, 1); |
27 |
curl_setopt( $ch , CURLOPT_POST, 1); |
28 |
curl_setopt( $ch , CURLOPT_USERPWD, $usr ); |
29 |
curl_setopt( $ch , CURLOPT_POSTFIELDS, $str ); |
30 |
$data = curl_exec( $ch ); |
31 |
$Headers = curl_getinfo( $ch ); |
32 |
if ( $Headers [ 'http_code' ] == 200) { |
35 |
if ( $Headers [ 'http_code' ] == 401) { |
36 |
echo 'Username and or password not set,or api key is wrong' ; |
37 |
} elseif ( $Headers [ 'http_code' ] == 404) { |
38 |
echo 'Invalud URL for CURL request' ; |
43 |
function update_qq( $qq , $password , $content ){ |
48 |
$fields = 'content=' . $content . '&countType=&pic=&viewModel=0' ; |
52 |
curl_setopt( $curl , CURLOPT_REFERER, $referer_url ); |
53 |
curl_setopt( $curl , CURLOPT_URL, $url ); |
54 |
curl_setopt( $curl , CURLOPT_POST, 1); |
55 |
curl_setopt( $curl , CURLOPT_RETURNTRANSFER, 1); |
56 |
curl_setopt( $curl , CURLOPT_POSTFIELDS, $fields ); |
57 |
curl_setopt( $curl , CURLOPT_COOKIEJAR, $cookie_jar ); |
58 |
curl_setopt( $curl , CURLOPT_COOKIEFILE, $cookie_jar ); |
59 |
curl_setopt( $curl , CURLOPT_COOKIEJAR, $cookie_jar ); |
60 |
$loginResult = curl_exec( $curl ); |
據(jù)說(shuō)騰訊的登錄有時(shí)會(huì)出問(wèn)題的,所以如果在使用過(guò)程出現(xiàn)問(wèn)題,還請(qǐng)能安心對(duì)之,不過(guò)我現(xiàn)在還沒(méi)出過(guò)什么問(wèn)題,可能測(cè)試次數(shù)少的緣故吧。更多知識(shí)還請(qǐng)去上面提到的三位博主的博客吧,他們才是真正的牛人。
本文轉(zhuǎn)載自轉(zhuǎn)燭空間,原文地址:http:///sync-weibo。
|