最近在网站SEO优化中接触到了百度站长平台中的向百度主动推送网址的功能。百度开放了API接口给站长,以便广大站长进行调用,主动推送网址。可是百度给出的API调用示例没有ASP语言的,经过搜索相关文章,找到了前人探索出的用ASP调用API主动推送网址的方法:
不过在按照网友分享的方法进行测试过程中,也发生了一些小问题,如下图所示。在调用PostHTTPPage函数过程中,该函数的第一个参数需要填写百度API接口的网址,这个网址中会包含百度分配给站长的token和你所要求收录的网站,第二个参数需要填写你所要推送的网址。一开始,按照网上示例代码,第一个参数没有加双引号,测试程序出错并提示缺少“)”,最终发现,只需将第一个参数的百度网址加上双引号即可。
序列号 | CPU | RAM | HDD | 带宽 | 售价(美元) | 免费试用 |
---|---|---|---|---|---|---|
香港服务器1 | E5-2620 | 32G | 1T HDD | 50M/无限流量 | $196.00 | 立即申请 |
香港服务器2 | E5-2650 | 32G | 1T HDD | 50M/无限流量 | $256.00 | 立即申请 |
香港服务器3 | E5-2680 | 32G | 1T HDD | 50M/无限流量 | $316.00 | 立即申请 |
香港服务器4 | E5-2690 | 32G | 1T HDD | 50M/无限流量 | $336.00 | 立即申请 |
香港服务器5 | E5-2697 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器6 | E5-2620*2 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器7 | E5-2650*2 | 32G | 1T HDD | 50M/无限流量 | $436.00 | 立即申请 |
香港服务器8 | E5-2680*2 | 32G | 1T HDD | 50M/无限流量 | $476.00 | 立即申请 |
香港服务器9 | E5-2690*2 | 32G | 1T HDD | 50M/无限流量 | $556.00 | 立即申请 |
香港服务器10 | E5-2697*2 | 32G | 1T HDD | 50M/无限流量 | $596.00 | 立即申请 |
香港服务器11 | E5-2680v4*2 | 32G | 1T HDD | 50M/无限流量 | $696.00 | 立即申请 |
香港服务器12 | E5-2698v4*2 | 32G | 1T HDD | 50M/无限流量 | $796.00 | 立即申请 |
关于该功能的完成代码如下所示,需要用到两个函数。在使用时,只需像上图一样,调用PostHTTPPage函数即可。
'↓↓↓主动推送链接给百度的函数↓↓↓FunctionPostHTTPPage(url,data)dimHttpsetHttp=server.createobject("MSXML2.SERVERXMLHTTP.3.0")Http.open"POST",url,falseHttp.setRequestHeader"CONTENT-TYPE","text/plain"Http.send(data)ifHttp.readystate<>4thenexitfunctionEndifPostHTTPPage=bytesToBSTR(Http.responseBody,"utf-8")sethttp=nothingiferr.number<>0thenerr.ClearEndfunction'↑↑↑主动推送链接给百度的函数↑↑↑'转换编码函数FunctionBytesToBstr(body,Cset)dimobjstreamsetobjstream=Server.CreateObject("adodb.stream")objstream.Type=1objstream.Mode=3objstream.Openobjstream.Writebodyobjstream.Position=0objstream.Type=2objstream.Charset=CsetBytesToBstr=objstream.ReadTextobjstream.Closesetobjstream=nothingEndFunction