php寫微博
❶ follow5的運行流程
follow5的運行流程如下:
1、打開網路,輸入follow5,即可看到官網地址,點擊進入。
2、如果沒有賬號可以自己注冊個,有的話點擊登錄就行了。
3、登錄完成後點擊微頻道。
4、在微頻道里,根據自己的喜好,同步自己所需的微博。
5、以新浪微博為例,通過驗證,即可實現同步的效果。
6、同樣,可以通過上面的方法,只需通過佛fllow5發布信息即可同步到所有的微博上。
新版Follow5概述
經過Follow5團隊的長時間籌劃,2011年8月23日,Follow5新版正式上線。 新版Follow5界面簡潔大方,功能上重點突出,用戶體驗上也有了很大的提高。
新版Follow5改版的原則是「去微博化,簡化、方便大家在多微博環境下的玩法」。部分功能譬如發言字數改為更通行的140字,個性化皮膚會盡快得到支持,手機及桌面客戶端會在下一版中得到更新。
新版Follow5的新功能主要體現在以下幾點:
1、 支持雙向同步 - 用時間軸的方式查看各微博內容。
2、 提升用戶體驗 - 全新設計、全新改版、全新體驗# 支持計劃任務 - 計劃任務、定製需求、智能操作。
以上內容參考 網路-follow5
這個功能,你可以參考微博的推送思路。
比如你關注了很多明星(千萬級大V),他們發的每條微博會進入到「我的首頁」。比如某個明星發了條微博abc,你在「我的首頁」里看到的"abc"並不是讀自明星微博個人的資料庫,而是來自「我的首頁」里一個專門的數據集合。
通俗的講,這個數據集合是完全屬於你個人的,你所關注的每個人,當他們發微博時,會同步「推送」到你自己個人的這個「數據集合」里。
那麼問題來了,千萬級大V,每發一條微博,就要同步推給千萬個粉絲,生成千萬條數據嗎?NO,微博根據用戶活躍度等一系列演算法,將用戶分成不同梯隊,一批一批的推送,例如一個近30天都沒登錄過的用戶,自然就會被劃到較遲推送的那一批里。這樣做是為了分流伺服器負擔。
但不同產品對於數據設計有不同的思路,你這個公用一條站內信,我的建議是,建個公共站內信統一變數(例如letter=20160514),可以保存到用戶的cookies里。
當用戶訪問頁面時,程序首先將這個變數值和cookies里保存的變數對比,相同則略過,不同則進行讀取相應的公共站內信,保存到自己的「收件箱」里。
這樣可以使原本需要同步推給千萬用戶一條站內信的工作,由主動推送變成被動發送。用戶上線訪問了,對比、發送,這種工作顯然要大大減小了伺服器壓力。
讀取消息也是,反饋生成一條數據寫到資料庫里就好了。
❸ php能不能實現定時發送微博功能大概都用到哪些知識點
不能,web伺服器代碼一般都是由用戶訪問才會運行的,沒人訪問它什麼的不會做。除非你讓php用一個死循環一直運行。
❹ 新浪微博 api 網站中判斷登錄是依據uid還是token呢 php的
判斷用uid,每次登陸成功都將access_token寫入資料庫。
那個access_token是和用戶對應用授權有關的。
❺ php網站有哪些
PHP網站有很多,以下是部分知名的PHP網站:
一、知乎
知乎是一個中文問答社區,很多功能和頁面都是基於PHP開發的。它是知識分享和交流的熱門平台,用戶可以提問、回答、分享經驗等。
二、騰訊企鵝智庫
騰訊企鵝智庫是騰訊公司旗下的一個數據研究平台,該平台大量使用PHP技術提供服務。企鵝智庫提供了一系列關於互聯網趨勢的研究報告。
三、美團網
美團網是一個在線訂餐和生活服務平台,其網站也是基於PHP開發的。用戶可以在這里訂購餐飲、電影、酒店等,享受便捷的生活服務。
四、微博
微博是一個流行的社交網路微博客平台,其網站也是使用PHP作為主要開發語言之一。用戶可以在這里發布消息、分享動態、互動交流等。
五、京東商城
京東商城是中國最大的電子商務網站之一,提供了豐富的商品和服務。它的網站架構也是基於PHP的,尤其是後台管理系統等核心部分。由於電商網站對數據處理和交互要求極高,PHP的動態性和靈活性為京東提供了強大的技術支持。此外,還有大批的政府網站和企業網站也在使用PHP作為主要的開發語言。如需更多PHP網站信息,可查詢站長之家網站公布的排名榜單獲取相應信息。不同領域的PHP網站可能具備不同的功能需求和用戶體驗設計,具體使用情況也不同。
❻ 如何獲取新浪微博的登錄參數
1、用Chrome的開發者工具或者Firefox的Firebug來進行抓包
找到login.php文件,就可以看到此文件的一些請求參數,
Request URL:
http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.3.22)
Request Method:
POST
Status Code:
200 OK
Request Headersview source
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset:
GBK,utf-8;q=0.7,*;q=0.3
Accept-Encoding:
gzip,deflate,sdch
Accept-Language:
zh-CN,zh;q=0.8
Cache-Control:
max-age=0
Connection:
keep-alive
Content-Length:
380
Content-Type:
application/x-www-form-urlencoded
Cookie:
Apache=00000073.8a4c255d.4fbcca08.3dec6e4b; SINAGLOBAL=00000073.8a51255d.4fbcca08.f60eaf69; U_TRS1=00000073.a032426f.4fbccf5b.de1e4686; U_TRS2=00000073.a044426f.4fbccf5b.84a48193; UOR=,www.sina.com.cn,; ULV=1337773919392:1:1:1:00000073.8a4c255d.4fbcca08.3dec6e4b:; SGUP=0; _s_upa=2; vjuids=1c9c46cf8.137798a2e07.0.baab928e; vjlast=1337773928; __utma=269849203.1663258918.1337773929.1337773929.1337773929.1; __utmb=269849203.1.10.1337773929; __utmc=269849203; __utmz=269849203.1337773929.1.1.utmcsr=login.sina.com.cn|utmccn=(referral)|utmcmd=referral|utmcct=/crossdomain2.php; ULOGIN_IMG=
Host:
login.sina.com.cn
Origin:
http://weibo.com
Referer:
http://weibo.com/
User-Agent:
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.142 Safari/535.19
Query String Parametersview decoded
client:
ssologin.js(v1.3.22)
Form Dataview decoded
entry:
weibo
gateway:
1
from:
savestate:
0
useticket:
1
vsnf:
1
ssosimplelogin:
1
su:
bmlfd2Vpd2VpJTQwMTYzLmNvbQ%3D%3D
service:
miniblog
servertime:
1337774007
nonce:
WSFYJG
pwencode:
wsse
sp:
encoding:
UTF-8
prelt:
980
url:
http%3A%2F%2Fweibo.com%2Fajaxlogin.php%3Fframelogin%3D1%26callback%3Dparent.sinaSSOController.feedBackUrlCallBack
returntype:
META
Response Headersview source
Cache-Control:
no-cache
Connection:
close
Content-Encoding:
gzip
Content-Length:
414
Content-Type:
text/html
Date:
Wed, 23 May 2012 11:53:30 GMT
P3P:
CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
Pragma:
no-cache
Server:
Apache
Set-Cookie:
SUE=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.sina.com.cn, SUP=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.sina.com.cn, ALF=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.sina.com.cn, ALC=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=login.sina.com.cn, SUR=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.sina.com.cn, SSOLoginState=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.sina.com.cn
Vary:
Accept-Encoding
via_host:
38.62
2、用httpclient4.x登錄新浪微博源碼(轉)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
public class SinaLogin {
private final static HttpClient client = new DefaultHttpClient();
/**
* 抓取網頁
*
* @param url
* @throws IOException
*/
static String get(String url) throws IOException {
HttpGet get = new HttpGet(url);
HttpResponse response = client.execute(get);
System.out.println(response.getStatusLine());
HttpEntity entity = response.getEntity();
String result = mp(entity);
get.abort();
return result;
}
/**
* 執行登錄過程
*
* @param user
* @param pwd
* @param debug
* @throws IOException
*/
static void login(String user, String pwd) throws IOException {
HttpPost post = new HttpPost(
"http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.3.14)");
post.setHeader("User-Agent",
"Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0");
post.setHeader("Referer", "http://weibo.com/");
post.setHeader("Content-Type", "application/x-www-form-urlencoded");
// 登錄表單的信息
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("entry", "miniblog"));
qparams.add(new BasicNameValuePair("gateway", "1"));
qparams.add(new BasicNameValuePair("from", ""));
qparams.add(new BasicNameValuePair("savestate", "0"));
qparams.add(new BasicNameValuePair("useticket", "1"));
qparams.add(new BasicNameValuePair("ssosimplelogin", "1"));
qparams.add(new BasicNameValuePair("service", "miniblog"));
// servertime=1309164392
// nonce=PJZCHM
// qparams.add(new BasicNameValuePair("pwencode", "wsse"));
qparams.add(new BasicNameValuePair("encoding", "utf-8"));
qparams.add(new BasicNameValuePair(
"url",
"http://weibo.com/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack"));
qparams.add(new BasicNameValuePair("returntype", "META"));
qparams.add(new BasicNameValuePair("username", user));
qparams.add(new BasicNameValuePair("password", pwd));
UrlEncodedFormEntity params = new UrlEncodedFormEntity(qparams, "UTF-8");
post.setEntity(params);
// Execute the request
HttpResponse response = client.execute(post);
post.abort();
// 新浪微博登錄沒有301,302之類的跳轉;而是返回200,然後用javascript實現的跳轉
// int statusCode = response.getStatusLine().getStatusCode();
// if ((statusCode == HttpStatus.SC_MOVED_PERMANENTLY)
// || (statusCode == HttpStatus.SC_MOVED_TEMPORARILY)
// || (statusCode == HttpStatus.SC_SEE_OTHER)
// || (statusCode == HttpStatus.SC_TEMPORARY_REDIRECT)) {
// // 此處重定向處理 此處還未驗證
// String newUri = response.getLastHeader("Location").getValue();
// get(newUri);
// }
// Get hold of the response entity
HttpEntity entity = response.getEntity();
// 取出跳轉的url
// location.replace("http://weibo.com/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack&ticket=ST-MTkxODMxOTI0Nw==-1309224549-xd-&retcode=0");
String location = getRedirectLocation(mp(entity));
get(location);
}
private static String getRedirectLocation(String content) {
String regex = "location\\.replace\\(\'(.*?)\'\\)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(content);
String location = null;
if (matcher.find()) {
location = matcher.group(1);
}
return location;
}
/**
* 列印頁面
*
* @param entity
* @throws IOException
*/
private static String mp(HttpEntity entity) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(
entity.getContent(), "utf8"));
//return EntityUtils.toString(entity);
return IOUtils.toString(br);
}
public static void main(String[] args) throws IOException {
login("username", "password");
String result = get("http://t.sina.com.cn/pub/tags");
System.out.println(result);
}
}
❼ qq第三方授權登錄(PHP),發表騰訊微博,參數怎麼傳!!!!
你好,第三方登錄需要你是企業類的的,要去申請,然後得到一些介面數據然後使用其平台提供給的sdk進行相關設置就可以了