Salut, j'apprécierais vraiment si vous pouviez me fournir un exemple dans lequel une classe de script de type peut obtenir l'adresse IP du client et le navigateur utilisé par le client et définir ces valeurs dans des variables
je veux faire cela dans le script de type pas dans le script Java est-ce possible et sinon comment le faire avec le script de type
-So Par exemple, je peux 1) définir ces variables lors de l'envoi du formulaire à la base de données à l'arrière-plan 2) Je peux par exemple afficher pour l'utilisateur le navigateur qu'il utilise. toute aide serait appréciée Merci
Merci beaucoup, très bonne solution Je l'ai prise comme base pour mon problème mais je ne l'ai pas résolue car elle me donnait l'adresse IP publique du serveur Internet . Pour un réseau interne avec DHCP, changez le URL par le suivant:
getIpCliente(): Observable<string> {
return this.http.get('http://api.ipify.org/?format=jsonp&callback=JSONP_CALLBACK') // ...using post request '
.map((res:Response) => {console.log('res ', res);
console.log('res.json() ', res.text());
//console.log('parseado ', JSON.parse(res.text()));
console.log('parseado stringify ', JSON.stringify(res.text()));
let ipVar = res.text();
let num = ipVar.indexOf(":");
let num2 = ipVar.indexOf("\"});");
ipVar = ipVar.slice(num+2,num2);
console.log('ipVar -- ',ipVar);
return ipVar}); // ...and calling .json() on the response to return data
//.catch((error:any) => Observable.throw(error.json().error || 'Server error')); //...errors if any
}
J'espère te servir des amis
Câlins!
Tu devrais essayer comme ça
var json = 'http://ipv4.myexternalip.com/json';
$http.get(json).then(function(result) {
console.log(result.data.ip)
}, function(e) {
alert("error");
});
Essaye ça :
Créer un fournisseur et ajouter une fonction avec les dépendances requises:
import { Injectable } from '@angular/core';
import { Http, Response, Headers, RequestOptions } from '@angular/http';
import {Observable} from 'rxjs/Rx';
import 'rxjs/add/operator/toPromise';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/Rx';
// Function :
getIP(): Observable<Data[]> {
return this.http.get('http://ipinfo.io') // ...using post request
.map((res:Response) => res.json()) // ...and calling .json() on the response to return data
.catch((error:any) => Observable.throw(error.json().error || 'Server error')); //...errors if any
}
Code du contrôleur:
getIP() {
this.loading = true;
this._myIPService.getIP()
.subscribe(
IPDetails => this.IppDetails,
error => this.errorMessage = <any>error
);
}
Vous aurez tous les détails de l'IP dans this.IppDetails