最近在网站SEO优化中接触到了百度站长平台中的向百度主动推送网址的功能。百度开放了API接口给站长,以便广大站长进行调用,主动推送网址。可是百度给出的API调用示例没有ASP语言的,经过搜索相关文章,找到了前人探索出的用ASP调用API主动推送网址的方法:
https://zhidao.baidu.com/question/268235943076276805.html
不过在按照网友分享的方法进行测试过程中,也发生了一些小问题,如下图所示。在调用PostHTTPPage函数过程中,该函数的第一个参数需要填写百度API接口的网址,这个网址中会包含百度分配给站长的token和你所要求收录的网站,第二个参数需要填写你所要推送的网址。一开始,按照网上示例代码,第一个参数没有加双引号,测试程序出错并提示缺少“)”,最终发现,只需将第一个参数的百度网址加上双引号即可。
关于该功能的完成代码如下所示,需要用到两个函数。在使用时,只需像上图一样,调用PostHTTPPage函数即可。
'↓↓↓主动推送链接给百度的函数↓↓↓
Function PostHTTPPage(url,data)
dim Http
set Http=server.createobject("MSXML2.SERVERXMLHTTP.3.0")
Http.open "POST",url,false
Http.setRequestHeader "CONTENT-TYPE", "text/plain"
Http.send(data)
if Http.readystate<>4 then
exit function
End if
PostHTTPPage=bytesToBSTR(Http.responseBody,"utf-8")
set http=nothing
if err.number<>0 then err.Clear
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