ip et pays

Partagez votre expérience de PureBasic avec les autres utilisateurs.
fraalg
Messages : 11
Inscription : mer. 18/juil./2007 14:31

ip et pays

Message par fraalg »

salut tout le monde.
j'ai trouvé ce lien : http://ip-to-country.webhosting.info
il donne le nom du pays a partir de l'ip , la base de données parait-il est assez fiable.

exemple d'utilisation :

Code : Tout sélectionner

Procedure.s left_right_cut(valeur.s)
If Len(valeur)>2 
valeur = Left(valeur,Len(valeur)-1)
valeur = Mid(valeur,2,Len(valeur))
ProcedureReturn valeur
EndIf
EndProcedure

Procedure.s ip_to_country (db_file.s,ip.s)

Protected f.l, ip_val1.l, ip_val2.l ,line.s, ip_string1.s, ip_string2.s, ip_val.l,code_.s

If ReadFile(f,db_file)

ip_val = Val(StringField(ip,1,"."))*16777216 + Val(StringField(ip,2,"."))*65536+ Val(StringField(ip,3,"."))*255 +Val(StringField(ip,4,"."))


While Eof(f) = 0

line = ReadString(f,#PB_Ascii)
ip_string1 = left_right_cut(StringField(line,1,","))
ip_string2 = left_right_cut(StringField(line,2,","))
ip_val1 = Val(ip_string1)
ip_val2 = Val(ip_string2)

If ip_val >= ip_val1 And ip_val <= ip_val2
Debug ip_val
 code_ = left_right_cut(StringField(Line,3,","))
 ProcedureReturn code_
 
EndIf
 
Wend
CloseFile(f)

EndIf

EndProcedure

Debug ip_to_country("ip-to-country.csv",votre_ip)

lien pour telecharger la base de données : http://ip-to-country.webhosting.info/do ... ry.csv.zip

ne pas oublier de mentionner :
"This 'work' uses the IP-to-Country Database
provided by WebHosting.Info (http://www.webhosting.info),
available from http://ip-to-country.webhosting.info.