Nello script #392 Cristian Civera ci ha fatto vedere come è semplice implementare Web Service con ASP.NET, nel caso specifico sfruttando le API di Google per aggiungere un motore di ricerca al nostro sito.
Ovviamente anche con Classic ASP la cosa non è complicatissima, anche se bisogna lavorare un attimo manualmente.
Perchè lo script funzioni, inoltre, è necessario che sia installato il Soap Toolkit 1.0, che potete scaricare direttamente da MSDN.
Il resto è codice, peraltro di facile comprensione.
<% ' variabili di ricerca GoogleKey = "chiave" SearchStr = Request("q") StartNum = CInt(Request.QueryString("start")) PageSize = 10 Set SoapRequest = Server.CreateObject("MSSOAP.SoapClient") ' Inizializzazione di SoapClient con il WSDL salvato in locale ' dall'URL http://api.google.com/GoogleSearch.wsdl SoapRequest.mssoapinit Server.MapPath("GoogleSearch.wsdl") ' Richiamo il metodo doGoogleSearch delle API di Google Set Results = SoapRequest.doGoogleSearch (GoogleKey, SearchStr, StartNum, PageSize, False, "", False, "", "", "") ' Informazioni sulla ricerca EstimatedTotalResultsCount = Results.Item(3).Text searchTime = Results.Item(7).Text endIndex = Results.Item(11).Text startIndex = Results.Item(17).Text estimateIsExact = Results.Item(19).Text ' risultati totali For j = 0 To Results.Item(9).childNodes.length - 1 if Results.Item(9).childNodes.Item(j).NodeName = "item" Then ' recuperiamo i valori per posizione DocSnippet = Results.Item(9).childNodes.Item(j).childNodes.Item(5).Text DocCatDesc = Results.Item(9).childNodes.Item(j).childNodes.Item(13).Text DocURL = Results.Item(9).childNodes.Item(j).childNodes.Item(15).Text DocTitle = Results.Item(9).childNodes.Item(j).childNodes.Item(17).Text ' costruzione output Risultati = Risultati & _ "<li><a href="""&DocURL&""">"&DocTitle&"</a><br>" & _ DocSnippet & "</li>" End If Next Set Results = Nothing Set SoapRequest = Nothing %> <p>Risultati per la ricerca di '<%=SearchStr%>' - da <b><%=startIndex%></b> a <b><%=endIndex%></b> su un totale di <b><%=FormatNumber(EstimatedTotalResultsCount, 0)%></b>. Ricerca effettuata in <b><%=FormatNumber(searchTime, 2)%></b> secondi</p> <ul><%=Risultati%></ul> <p>Vai alla pagina: <% 'calcolo pagine totali TotalPages = (EstimatedTotalResultsCount)\(PageSize)+1 ' fix per numero di pagine if Fix(EstimatedTotalResultsCount/PageSize) = EstimatedTotalResultsCount/PageSize then TotalPages = TotalPages -1 for i = 1 to TotalPages %> <a href="google.asp?q=<%=SearchStr%>&start=<%=((PageSize*i)-PageSize)%><%=i%></a> <% next %></p>
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.