É necessária uma função js. Cada vez que sai um registro, o ip é substituído pela cidade. Sexta-feira escreveu uma pequena informação classificada. Só existe o endereço IP no banco de dados, e o visitante médio não sabe qual cidade é a cidade. O endereço IP vem de. Se houver mais uma coluna na tabela para salvar a cidade, mas não há autenticidade alguma. Seria ótimo se o endereço IP pudesse ser transformado em uma cidade. e baixe o banco de dados. Mas parece um desperdício para esse requisito. Felizmente, existem muitos sites que fornecem consulta. Se eu puder transformar seu resultado em meu problema resolvido.
É necessária uma função js Sempre que sair um registro, substitua o ip pela cidade:
Copie o código do código da seguinte forma:
<tipo de script=texto/javascript>
função queryAddress(strID){
tentar{
var qIp=document.getElementById(ip_+strID);
var qUrl='http://ip.wanvee.cn/GetIp.ashx?ipstr='+qIp.firstChild.nodeValue;
var ajax=new Ajax.Request(qUrl,{
método: 'obter',
onSuccess:function(strResponse){
var resContent=strResponse.responseText;
var strStruct=resContent.substring(resContent.lastIndexOf(,)+1,resContent.length);
qIp.innerHTML=strStruct.split()[0];
}
});
}pegar(e){}
}
</script>
Escreva um caso de teste:
<span id=ip_2>221.123.123.123</span><script type=text/javascript>queryAddress('2')</script>
<span id=ip_3>221.123.123.123</span><script type=text/javascript>queryAddress('3')</script>
<span id=ip_4>221.123.123.123</span><script type=text/javascript>queryAddress('4')</script>
Vamos listar alguns URLs de consulta que encontrei:
http://www.ip.cn/getip.php?action=queryip&ip_url=221.123.123.123
http://ip.wanvee.cn/GetIp.ashx?ipstr=221.123.123.123
Os dois acima apenas retornam texto
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=221.123.123.123
Isso retorna XML
Depois de terminar de escrever, percebi um problema: o Ajax não suporta envio entre domínios. Isso não é um problema: usamos um script para escrever uma página. Use o método de carregamento do msxml para carregar o URL de destino. dados nos quais estamos interessados! Consulte esta postagem: http://topic.csdn.net/t/20030619/12/1933920.html
Altere um pouco o código js:
Copie o código do código da seguinte forma:
função queryAddress(strID){
tentar{
var qIp=document.getElementById(ip_+strID);
var qUrl='queryiplocal.asp?ip='+qIp.firstChild.nodeValue;
var ajax=new Ajax.Request(qUrl,{
método: 'obter',
onSuccess:function(strResponse){
qIp.innerHTML=strResponse.responseText;
}
});
}pegar(e){}
}
A seguir está o código-fonte do arquivo ASP:
Copie o código do código da seguinte forma:
<%
Response.ContentType=texto/xml
Response.Charset=GB2312
Dim strIP,strPattern
strIP=Request.QueryString(ip)
strPattern=^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$
Se strIP= Ou IsNumeric(strIP) então
Resposta.End()
ElseIf Não serRegValidate(strPattern,strIP) então
Resposta.End()
Terminar se
Dim strURL:strURL=http://www.youdao.com/smartresult-xml/search.s?type=ip&q=
definir analisador = Server.CreateObject (MSXML2.DOMDocument)
analisador.async = falso
analisador.ValidateOnParse=true
parser.setProperty ServerHTTPRequest, verdadeiro
analisador.load(strURL)
se parser.parseError.errorCode<>0 então
Resposta.End()
terminar se
definir currNode=parser.selectNodes(//produto)
Dim strLocal:strLocal=currNode.item(0).selectSingleNode(local).text
Response.Write Divisão(strLocal, )(0)
%>