1. 程式人生 > >使用ASP語言向百度主動推送網址的方法和經驗分享

使用ASP語言向百度主動推送網址的方法和經驗分享

最近在網站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