使用ASP語言向百度主動推送網址的方法和經驗分享
阿新 • • 發佈:2018-12-13
最近在網站SEO優化中接觸到了百度站長平臺中的向百度主動推送網址的功能。百度開放了API介面給站長,以便廣大站長進行呼叫,主動推送網址。可是百度給出的API呼叫示例沒有ASP語言的,經過搜尋相關文章,找到了前人探索出的用ASP呼叫API主動推送網址的方法,不過在按照網友分享的方法進行測試過程中,也發生了一些小問題,如下圖所示。在呼叫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