54 lines
1.6 KiB
TypeScript
54 lines
1.6 KiB
TypeScript
interface ApiResponse {
|
|
method: string;
|
|
ip_info: {
|
|
as_domain: string;
|
|
as_name: string;
|
|
asn: string;
|
|
continent: string;
|
|
continent_code: string;
|
|
country: string;
|
|
country_code: string;
|
|
ip: string;
|
|
};
|
|
}
|
|
|
|
const requestOptions = {
|
|
method: 'GET',
|
|
headers: { 'Content-Type': 'application/json' },
|
|
};
|
|
|
|
fetch('/doxme/', requestOptions) //call api
|
|
.then((response) => response.json())
|
|
.then((jsonResponse) => {
|
|
const user_ip = jsonResponse.ip_info.ip;
|
|
const user_country = jsonResponse.ip_info.country;
|
|
const user_region = jsonResponse.ip_info.country_code;
|
|
|
|
// Update the HTML elements with the fetched information
|
|
document.getElementById('ip').textContent = `${user_ip}`;
|
|
document.getElementById('country').textContent = `${user_country}`;
|
|
document.getElementById('region').textContent = `${user_region}`;
|
|
|
|
console.log('user_ip:', user_ip);
|
|
console.log('couintry:', user_country);
|
|
console.log('region:', user_region);
|
|
})
|
|
.catch((error) => {
|
|
console.error('Error fetching IP information:', error);
|
|
});
|
|
|
|
fetch('http://ip-api.com/json/')
|
|
.then((response) => response.json())
|
|
.then((data) => {
|
|
const user_city = data.city;
|
|
const user_isp = data.isp;
|
|
console.log('user_city', user_city);
|
|
console.log('user_isp', user_isp);
|
|
|
|
document.getElementById('city').textContent = `${user_city}`;
|
|
document.getElementById('isp').textContent = `${user_isp}`;
|
|
})
|
|
.catch((err) => {
|
|
console.log('idk error', err);
|
|
});
|