Discuz是一款非常流行的社區(qū)論壇軟件,它的json API接口文檔為開(kāi)發(fā)者提供了豐富的接口調(diào)用方式和參數(shù)說(shuō)明,方便開(kāi)發(fā)者對(duì)于Discuz進(jìn)行二次開(kāi)發(fā)。
請(qǐng)求方式:GET/POST 請(qǐng)求地址:http://{discuz_domain}/api/mobile/index.php 請(qǐng)求參數(shù):action、username、password、formhash 返回值:json格式數(shù)據(jù)
在請(qǐng)求Discuz的json API接口之前,需要先獲取Discuz的formhash參數(shù)值,這是為了防止惡意請(qǐng)求攻擊而設(shè)置的。
請(qǐng)求方式:GET 請(qǐng)求地址:http://{discuz_domain}/api/mobile/index.php?module=login&version=4&loginfield=username&loginsubmit=yes&ajax=1 請(qǐng)求參數(shù):username、password 返回值:html格式數(shù)據(jù)
上述請(qǐng)求會(huì)返回一個(gè)包含formhash值的html格式數(shù)據(jù),從中抽取出formhash值并在后續(xù)請(qǐng)求中使用。
請(qǐng)求方式:POST 請(qǐng)求地址:http://{discuz_domain}/api/mobile/index.php?version=4&module=forumindex&module=forumindex&charset=utf-8&format=version 請(qǐng)求參數(shù):formhash 返回值:json格式數(shù)據(jù)
上述請(qǐng)求會(huì)返回Discuz的版本信息,其中返回的json數(shù)據(jù)結(jié)構(gòu)為:
{ "Version": "X3.2", "Charset": "utf-8", "DiscuzVersion": "Discuz! X3.2", "PluginVersion": "3.2", "ApiVersion": "4" }
使用Discuz的json API接口可以實(shí)現(xiàn)豐富的功能,如用戶登錄、發(fā)帖、查看帖子等,通過(guò)合理的調(diào)用接口和參數(shù)設(shè)置,可以實(shí)現(xiàn)滿足特定需求的功能。