asp如何获取热点api接口?

时间:2022-02-02 23:42:11

<%
dim client_id:client_id="" ‘ 应用的API Key;
dim client_secret:client_secret="" ‘ 应用的Secret Key;

dim post_data:post_data="{""text"": ""2019诺思星快手电商班精华浓缩版VIP教程(5)""}"

response.write access_token
response.write post_content

‘ 获取返回数据
function post_content()
dim api_url:api_url = "https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer"
dim json:json = post_https(api_url&"?charset=UTF-8&access_token="&access_token,post_data)
dim obj
set obj = parseJSON(json)

post_content = json
‘ 遍历解析JSON不会了 哈哈

set obj = Nothing
end function

‘ 获取access_token
function access_token()
dim access_token_url:access_token_url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id="&client_id&"&client_secret="&client_secret&"" ‘ 组合获取access_token网址
dim obj
set obj = parseJSON(post_https(access_token_url,""))
access_token = obj.access_token
set obj = Nothing
end function

‘ 解析json
Dim scriptCtrl
Function parseJSON(str)
If Not IsObject(scriptCtrl) Then
Set scriptCtrl = Server.CreateObject("MSScriptControl.ScriptControl")
scriptCtrl.Language = "JScript"
scriptCtrl.AddCode "Array.prototype.get = function(x) { return this[x]; }; var result = null;"
End If
scriptCtrl.ExecuteStatement "result = " & str & ";"
Set parseJSON = scriptCtrl.CodeObject.result
End Function

‘ post获取数据函数
public function post_https(post_url,post_data)
dim https
set https = server.createobject("msxml2.xmlhttp")
with https
.open "post", post_url, false
.setrequestheader "content-type","application/json"
.send post_data
post_https = .responsebody
end with
post_https = bytestobstr(post_https,"UTF-8")
set https = nothing
end function

‘ 转换编码
function bytestobstr(body,cset)
dim objstream
set objstream = server.createobject("adodb.stream")
objstream.type = 1
objstream.mode =3
objstream.open
objstream.write body
objstream.position = 0
objstream.type = 2
objstream.charset = cset
bytestobstr = objstream.readtext
objstream.close
set objstream = nothing
end function
%>