2017-05-24 104 views
1

我試圖對mediawiki api進行身份驗證,但它不接受我請求的登錄令牌。當我要求(通過POST)這樣action=query&meta=tokens&type=login&format=json令牌返回我AA令牌,例如Mediawiki api登錄不接受令牌

batchcomplete: 
query: { 
    tokens: { 
     logintoken: af69aa46ef0e505dca1b4b0ea696a55259258b4f+\ 
    } 
} 

但是當我現在嘗試用action=login&lgname=user&lgpassword=password&lgtoken=af69aa46ef0e505dca1b4b0ea696a55259258b4f%2B%5C&format=json驗證我只得到這個消息發回

warnings: { 
    main: { 
     *: Subscribe to the mediawiki-api-announce mailing list at for notice of API deprecations and breaking changes. Use [Special:ApiFeatureUsage]] to see usage of deprecated features by your application. 
    } 
    login: { 
     *: Fetching a token via "action=login" is deprecated. Use "action=query&meta=tokens&type=login" instead. 
    } 
} 
login: { 
    result: NeedToken 
    token: a26aa15ecc99c421db73b86e7581497959258b4f+\ 
} 

它似乎它不認識到令牌。我正在使用bot密碼登錄。

感謝您的幫助

西蒙

+0

您需要在同一會話中發出請求。 – Tgr

+0

如何在php腳本中使用會話? :/ – Simon

+0

取決於您用於製作網絡請求的內容。使用捲曲,您需要使用Cookie jar + cookie文件選項。 – Tgr

回答

0

TGR的評論解決了我的問題:

您需要開具在同一個會話的請求。

如何在php腳本中使用會話?

取決於您用於製作Web請求的內容。使用捲曲,您需要使用Cookie jar + cookie文件選項。