小黃雞simsimi接口


  這個方法在於獲取cookie進行驗證,今天我嘗試用curl模擬登錄小黃雞,可是小黃雞的登錄是調用谷歌或facebook的接口授權,而且缺少代理服務器,所以決定放棄使用小黃雞。現在我使用圖靈機器人,這個應用的接口調取速度很快而且應用的功能很強大,遠遠不止聊天那么簡單。

 

  現在網上關於調用小黃雞接口的內容,基本都是一樣的,看着他們的帖子自己調試了幾個小時,一直有各種各樣的問題,最后還是自己搞定的,所以來寫一下我遇到的問題和解決辦法,還有我封裝的小黃雞的接口。


  本來想在微信上弄一個聊天機器人,注冊了一個小黃雞的試用賬戶。調試了一會發現瀏覽器直接打開是可以正常顯示的,可是php調用就是會顯示亂碼。上網找說是gzip的壓縮問題,使用gzdecode()函數即可。看着很簡單的解決辦法,到我手上又出問題了,使用gzdecode()之后,會彈警告:data error,然后我又開始找gzdecode() data error。然而網上關於這個問題的帖子全是英文的,雖然我有谷歌的翻譯,可是翻譯后發現和我出現的問題完全不同,找了幾篇都是這樣。沒有了頭緒后我開始研究zlib庫,我發現對字符串gzencode()后和php調用時產生的亂碼是不同的。然后我在手冊中發現cURL可以通過curl_setopt($ch, CURLOPT_ENCODING, $value)設置header的Accept-Encoding,設置之后果然還是一樣的亂碼。再我又嘗試了幾次后,接口傳來數據調用次數不足,於是我放棄了嘗試,決定不使用官方的接口而自己直接傳值給小黃雞的服務器。

  打開並登錄小黃雞官網后,我隨便輸入幾句話,然后按F12打開了谷歌瀏覽器的調試窗口,終於找到發送數據的請求(下圖)。

  然后找到了小黃雞的url地址。我把信息修改了一下粘貼到瀏覽器上,果然收到了消息,看來是讓我蒙對了。

  於是我把官方的接口url替換成現在這個,發現返回header401  Unauthorized。然后在瀏覽器中找到登錄小黃雞時的cookie,使用curl_setopt($ch, CURLOPT_COOKIE, $value)設置cookie,即可正常顯示。


  本人剛學php不久,這篇文章僅供參考,大牛請無視。下面貼上代碼。

 1 private function testSim($text)
 2     {
 3         $url = 'http://www.simsimi.com/getRealtimeReq?lc=ch&ft=1&normalProb=4&reqText='.rawurlencode($text).'&status=W&talkCnt=1';
 4         $ch = curl_init($url);
 5         curl_setopt($ch, CURLOPT_COOKIE, 'user_displayName=%E5%B0%BC%E5%8F%A4%E6%8B%89%E6%96%AF%E6%9D%8E%E7%88%B1%E6%96%B0%E8%A7%89%E7%BD%97%E5%A4%9A; user_photo=undefined; dotcom_session_key=s%3AjkNa4Zlg-gegNFKudhRY_-aLPDu6rh1q.%2BeG2TyuUsXt9pUNGoP%2F5u%2F9BfXeXosg0KxwCMKCCmC4; normalProb=4; lc=ch; lname=%E4%B8%AD%E6%96%87(%E7%AE%80%E4%BD%93); _ga=GA1.2.1028504419.1509626254; _gid=GA1.2.1289853464.1509775119; bbl_cnt=0; currentChatCnt=2');
 6         curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
 7         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 8         $res = curl_exec($ch);
 9         curl_close($ch);
10         if (isset($res)) {
11             $json = json_decode($res, true);
12             return $json['respSentence'];
13         } else {
14             return '未獲取到數據!';
15         }
16     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM