安全的關(guān)鍵.png)
GraphQL API滲透測(cè)試指南
其實(shí)也沒(méi)啥闡述的,就是通過(guò)通過(guò)url鏈接去請(qǐng)求到一個(gè)json字符串,而我們需要把需要以正確的方式將我們的待翻譯參數(shù)以及身份信息,按照POST請(qǐng)求的方式加在鏈接中。
這里是官方給的一個(gè)例子(很關(guān)鍵):
生成簽名sign
拼接完整請(qǐng)求:
http://api.fanyi.baidu.com/api/trans/vip/translate?q=apple&from=en&to=zh&appid=2015063000000001&salt=1435660288&sign=f89f9594663708c1605f3d736d01d2d4
1)MD5加密
$params['sign'] = md5($appid.$word.$salt.'yjNRQdGS6iPEf6cfS2LB');
這行代碼就是把我們需要加密的內(nèi)容拼接起來(lái),加密之后會(huì)生成一個(gè)32位的字符串,這就是我們的簽名信息了。
2)url請(qǐng)求(cURL 函數(shù))
$ch = curl_init();
上面的代碼是 初始化一個(gè)新的會(huì)話,返回一個(gè)cURL句柄,供curl_setopt(), curl_exec()和curl_close() 函數(shù)使用。如果提供了uRL參數(shù),CURLOPT_URL 選項(xiàng)將會(huì)被設(shè)置成這個(gè)值。你也可以使用curl_setopt()函數(shù)手動(dòng)地設(shè)置這個(gè)值。例如:
curl_setopt($ch,CURLOPT_URL,$url);
bool curl_setopt ( resource $ch , int $option , mixed $value )
curl_setopt_array — 為 cURL 傳輸會(huì)話批量設(shè)置選項(xiàng)。
參數(shù):
ch
由 curl_init() 返回的 cURL 句柄。
option
需要設(shè)置的CURLOPT_XXX選項(xiàng)。
value
將設(shè)置在option選項(xiàng)上的值。
$result=curl_exec($ch);
curl_close($ch);
上面的代碼是拿回我們的結(jié)果。并且關(guān)閉鏈接。
$callRet = json_decode($result, true);
解析json,才能顯示中文。
拼接參數(shù)的代碼:
foreach ($params as $key => $value) {
$querySign .= $key . '=' . $value . '&';
//echo $querySign."<br/>";
}
<?php
/**
* @desc 百度文檔翻譯服務(wù)接口
* 計(jì)數(shù)服務(wù)接口校驗(yàn)同理,完整文檔參考:https://api.fanyi.baidu.com/doc/27
* @date 2022-04-25
* @author @勇敢di牛牛
*/
$word = 'brave,ox ,ox ';
$appid = '20220424001188633'; //你自己的Appid
$salt = '1435660288'; //隨機(jī)數(shù)
$params = array(
'appid' => $appid, //你的appid
'from' => 'en',
'to' => 'zh',
'salt' => '1435660288',//10位隨機(jī)數(shù)字,你也可以用10位時(shí)間戳
'q' => $word,
);
$seckey = 'yjNRQdGS6iPEf6cfS2CC'; //你的密鑰
ksort($params);
$querySign = '';
$params['sign'] = md5($appid.$word.$salt.$seckey);
foreach ($params as $key => $value) {
$querySign .= $key . '=' . $value . '&';
//echo $querySign."<br/>";
}
$url = 'http://fanyi-api.baidu.com/api/trans/vip/translate?';
//$url = "$url$querySign";
echo $url;
$header = array(
'Content-Type' => 'application/x-www-form-urlencoded',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$querySign);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($ch);
curl_close($ch);
$callRet = json_decode($result, true);
//$string = utf8_decode($string);
print_R($callRet);
//pring_R($result);
?>
本文章轉(zhuǎn)載微信公眾號(hào)@PHP大神
GraphQL API滲透測(cè)試指南
Python + BaiduTransAPI :快速檢索千篇英文文獻(xiàn)(附源碼)
掌握ChatGPT API集成的方便指南
node.js + express + docker + mysql + jwt 實(shí)現(xiàn)用戶管理restful api
nodejs + mongodb 編寫(xiě) restful 風(fēng)格博客 api
表格插件wpDataTables-將 WordPress 表與 Google Sheets API 連接
手把手教你用Python和Flask創(chuàng)建REST API
使用 Django 和 Django REST 框架構(gòu)建 RESTful API:實(shí)現(xiàn) CRUD 操作
ASP.NET Web API快速入門(mén)介紹
對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力
一鍵對(duì)比試用API 限時(shí)免費(fèi)