JavaScript (Fetch API)
async function getPetWallpapers(type = 'all', limit = 10) {
try {
const response = await fetch(
`https://api.catdog.vinnesia.my.id/v1/images/random?type=${type}&limit=${limit}`
);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
if (data.success) {
return data.data;
} else {
throw new Error(data.error.message);
}
} catch (error) {
console.error('Failed to fetch wallpapers:', error);
return [];
}
}
// Usage
getPetWallpapers('cat', 5).then(wallpapers => {
wallpapers.forEach(wallpaper => {
console.log(`${wallpaper.type} wallpaper: ${wallpaper.url}`);
});
});
PHP (cURL)
$type,
'limit' => $limit,
'size' => 'full'
]);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'User-Agent: Pet Wallpaper App/1.0'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200) {
$data = json_decode($response, true);
return $data['success'] ? $data['data'] : [];
}
return [];
}
// Usage
$wallpapers = getPetWallpapers('dog', 8);
foreach ($wallpapers as $wallpaper) {
echo "Dog wallpaper: " . $wallpaper['url'] . "\n";
}
?>
Python (Requests)
import requests
from typing import List, Dict, Optional
class PetWallpaperAPI:
def __init__(self, base_url: str = "https://api.catdog.vinnesia.my.id/v1"):
self.base_url = base_url
self.session = requests.Session()
self.session.headers.update({
'User-Agent': 'Pet Wallpaper App/1.0'
})
def get_random_images(self,
pet_type: str = 'all',
limit: int = 10,
size: str = 'full') -> List[Dict]:
"""Get random pet wallpapers"""
try:
response = self.session.get(
f"{self.base_url}/images/random",
params={
'type': pet_type,
'limit': limit,
'size': size
},
timeout=30
)
response.raise_for_status()
data = response.json()
return data['data'] if data['success'] else []
except requests.exceptions.RequestException as e:
print(f"API request failed: {e}")
return []
def get_cat_images(self, limit: int = 10) -> List[Dict]:
"""Get cat-specific wallpapers"""
return self.get_random_images('cat', limit)
def get_dog_images(self, limit: int = 10) -> List[Dict]:
"""Get dog-specific wallpapers"""
return self.get_random_images('dog', limit)
# Usage
api = PetWallpaperAPI()
# Get mixed pet wallpapers
wallpapers = api.get_random_images(limit=5)
for wallpaper in wallpapers:
print(f"{wallpaper['type'].title()} wallpaper: {wallpaper['url']}")
# Get only cat wallpapers
cat_wallpapers = api.get_cat_images(limit=3)
print(f"\nFound {len(cat_wallpapers)} cat wallpapers")