<?php
class Cichacha
{
public function index()
{
$appId = 10000; //对应接口应用ID,此处以关键词挖掘接口为例
$accessKey = "369c4754d0bd*********"; //用户中心-密钥管理获取
$secretKey = "SSHGxwtRNb**************";//用户中心-密钥管理获取
$apiUrl = "https://openapi.cichacha.com/....."; //接口地址
$accessToken = md5($appId . $accessKey . md5($secretKey));
$params = [ //必备参数
"app_id" => $appId,
"access_key" => $accessKey,
"access_token" => $accessToken,
];
$paramsApi = [ // 接口应用相关参数
"word" => "seo" // 根据接口应用参数来增删,此处以关键词挖掘接口为例
];
$res = $this->httpRequest($apiUrl, array_merge($params, $paramsApi));
echo $res;
}
/**
* HTTP请求
* @param $url
* @param array $data
* @param false $isPost 是否是POST请求
* @return bool|string
*/
private function httpRequest($url, array $data = [], bool $isPost = false)
{
$ch = curl_init();
if ($isPost == false) {
$url = $url . "?" . http_build_query($data);
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
if ($isPost) {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
}
?>
# -*- coding: utf-8 -*-
import hashlib
from requests import get
def md5_hex(s):
return hashlib.md5(s.encode("utf-8")).hexdigest()
if __name__ == "__main__":
appId = 10000 # 对应接口应用ID, 此处以关键词挖掘接口为例
accessKey = "369c4754d0bd*********" # 用户中心 - 密钥管理获取
secretKey = "SSHGxwtRNb**************" # 用户中心 - 密钥管理获取
apiUrl = "https://openapi.cichacha.com/....." # 接口地址
accessToken = md5_hex(str(appId) + accessKey + md5_hex(secretKey))
# 必要参数
params = {
"app_id": appId,
"access_key": accessKey,
"access_token": accessToken,
}
# 接口参数,本示例以关键词挖掘API为例
paramsApi = {
"word": "qq",
"page": 1
}
params.update(paramsApi)
res = get(apiUrl, params=params).json()
print(res)
package main
import (
"crypto/md5"
"encoding/hex"
"fmt"
"io/ioutil"
"net/http"
)
func Md5(str string) string {
m := md5.New()
m.Write([]byte(str))
return hex.EncodeToString(m.Sum(nil))
}
func main() {
appId := "10000" //对应接口应用ID,此处以关键词挖掘接口为例
accessKey := "369c47***************" //用户中心-密钥管理获取
secretKey := "SSHGxwt***************" //用户中心-密钥管理获取
accessToken := Md5(fmt.Sprintf("%s%s%s", appId, accessKey, Md5(secretKey)))
// 必备参数
baseQueryString := fmt.Sprintf("app_id=%s&access_key=%s&access_token=%s&", appId, accessKey, accessToken)
// 本处接口地址和参数以关键词挖掘接口为例
apiUrl := fmt.Sprintf("https://openapi.cichacha.com/ciku/?%sword=%s&page=1", baseQueryString, "seo")
client := &http.Client{}
req, err := http.NewRequest("GET", apiUrl, nil)
if err != nil {
fmt.Println(err)
return
}
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}