2016-05-13 12 views
1

Ich muss die Benutzer-IP, das Land wissen, entspricht, und es verwenden, um mit diesem jquery api zu arbeiten:JQuery: recover IP-Informationen in https

$.get("http://ipinfo.io", function() {}, "jsonp").always(function(resp) { 
      var countryCode = (resp && resp.country) ? resp.country : ""; 
      callback(countryCode); 
     }); 

Butsince ich das SSL-Zertifikat auf meiner Webseite hinzufügen, es funktioniert nicht mehr. Ich habe versucht, den Link ipinfo.io stattdessen in https: // zu setzen, aber Sie müssen bezahlen, um die https-Version dieser API zu aktivieren. Also würde ich gerne wissen, ob jemand einen freien Weg kennt, diese Informationen in https zu haben. Dank

+1

Sie können Ihre IP-Lookup an Ihren Webserver delegieren (es wird die Anfrage für den Client gemacht und sendet die Antwort zurück). – n00dl3

+0

Ich verstehe nicht, was Sie meinen, indem Sie auf den Webserver delegieren ... – Fab

+0

Sie implementieren die Logik des Erhaltens von IP-Informationen auf der Serverseite, IHR Server wird den Aufruf von ipinfo.io machen und es zurück an den Client senden .. . – n00dl3

Antwort

0

Sie können diesen Auftrag an den Server delegieren. Die Umsetzung eines solchen Sache mit PHP-Curl ist einfach (ich es nicht testen habe, aber ich denke, es funktioniert):

<?php 
     $url="http://ipinfo.io/".$_SERVER['REMOTE_ADDR']; 
     // create curl resource 
     $curl = curl_init(); 
     // set the target url 
     curl_setopt($curl, CURLOPT_URL, $url); 
     //return as string 
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
     // store response body 
     $output = curl_exec($curl); 
     // close curl resource to free up system resources 
     curl_close($curl); 
     echo $output;  

ip Infos in Session speichern die webservice jedes Mal klug wäre zu vermeiden, fordern aber es ist aus der Umfang der Frage.

+0

Ich habe das versucht, aber es hat nicht funktioniert:/ – Fab

+0

Ich brauche mehr Informationen "es hat nicht funktioniert" ist keine gute Beschreibung – n00dl3

+0

es gab die IP-Adresse – Fab