Code Examples
Here are examples of how to test HTTP 500 responses in different programming languages:
Select options below to see how to use advanced features in your code:
curl https://free.mockerapi.com/500
{ "success": false, "status": 500, "statusText": "Internal Server Error - The server has encountered a situation it doesn't know how to handle", "timestamp": "2025-10-08T10:30:45.123Z", "request": { "method": "GET", "url": "/500", "fullUrl": "https://free.mockerapi.com/500" } }
fetch('https://free.mockerapi.com/500') .then(response => { console.log('Status:', response.status); // 500 return response.json(); }) .then(data => { console.log('Response:', data); }) .catch(error => { console.error('Error:', error); });
{ "success": false, "status": 500, "statusText": "Internal Server Error - The server has encountered a situation it doesn't know how to handle", "timestamp": "2025-10-08T10:30:45.123Z", "request": { "method": "GET", "url": "/500", "fullUrl": "https://free.mockerapi.com/500" } }
import requests response = requests.get('https://free.mockerapi.com/500') print(f'Status Code: {response.status_code}') # 500 print(f'Response: {response.json()}')
{ "success": false, "status": 500, "statusText": "Internal Server Error - The server has encountered a situation it doesn't know how to handle", "timestamp": "2025-10-08T10:30:45.123Z", "request": { "method": "GET", "url": "/500", "fullUrl": "https://free.mockerapi.com/500" } }
{ "success": false, "status": 500, "statusText": "Internal Server Error - The server has encountered a situation it doesn't know how to handle", "timestamp": "2025-10-08T10:30:45.123Z", "request": { "method": "GET", "url": "/500", "fullUrl": "https://free.mockerapi.com/500" } }
require 'net/http' require 'json' uri = URI('https://free.mockerapi.com/500') response = Net::HTTP.get_response(uri) puts "Status Code: #{response.code}" # 500 puts "Response: #{JSON.parse(response.body)}"
{ "success": false, "status": 500, "statusText": "Internal Server Error - The server has encountered a situation it doesn't know how to handle", "timestamp": "2025-10-08T10:30:45.123Z", "request": { "method": "GET", "url": "/500", "fullUrl": "https://free.mockerapi.com/500" } }
package main import ( "fmt" "io" "net/http" ) func main() { resp, err := http.Get("https://free.mockerapi.com/500") if err != nil { panic(err) } defer resp.Body.Close() fmt.Printf("Status Code: %d\n", resp.StatusCode) // 500 body, err := io.ReadAll(resp.Body) if err != nil { panic(err) } fmt.Printf("Response: %s\n", body) }
{ "success": false, "status": 500, "statusText": "Internal Server Error - The server has encountered a situation it doesn't know how to handle", "timestamp": "2025-10-08T10:30:45.123Z", "request": { "method": "GET", "url": "/500", "fullUrl": "https://free.mockerapi.com/500" } }
import java.net.http.*; import java.net.URI; public class HttpStatusTest { public static void main(String[] args) throws Exception { HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://free.mockerapi.com/500")) .GET() .build(); HttpResponseresponse = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println("Status Code: " + response.statusCode()); // 500 System.out.println("Response: " + response.body()); } }
{ "success": false, "status": 500, "statusText": "Internal Server Error - The server has encountered a situation it doesn't know how to handle", "timestamp": "2025-10-08T10:30:45.123Z", "request": { "method": "GET", "url": "/500", "fullUrl": "https://free.mockerapi.com/500" } }
const https = require('https'); https.get('https://free.mockerapi.com/500', (res) => { console.log('Status Code:', res.statusCode); // 500 let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { console.log('Response:', JSON.parse(data)); }); }).on('error', (err) => { console.error('Error:', err.message); });
{ "success": false, "status": 500, "statusText": "Internal Server Error - The server has encountered a situation it doesn't know how to handle", "timestamp": "2025-10-08T10:30:45.123Z", "request": { "method": "GET", "url": "/500", "fullUrl": "https://free.mockerapi.com/500" } }
What is HTTP 500 Internal Server Error?
HTTP 500 Internal Server Error is a generic server-side error response that indicates the server encountered an unexpected condition that prevented it from fulfilling the request. This is a catch-all error status code when the server cannot be more specific about the error condition or when no other error status code is suitable.
Unlike client-side 4xx errors, a 500 error indicates that the problem is on the server's end, not with the client's request. The server should include information about the error condition in the response body, though specifics are often limited for security reasons.
When Does This Happen?
A 500 Internal Server Error response is returned when the server encounters an unexpected error that prevents it from processing the request. Common scenarios include:
- Unhandled exceptions or runtime errors in server code
- Database connection failures or query errors
- Server misconfiguration issues
- Resource exhaustion (memory, disk space)
- Third-party service failures that the server depends on
- Bugs in the application code
Try It Live
Click the button below to make a live request and see the 500 Internal Server Error response
Common Use Cases
🔥 Error Handling Testing
Test how your application handles critical server errors and displays appropriate error messages to users.
🎯 Monitoring & Alerting
Verify that your monitoring systems correctly detect and alert on 500 errors in production.
🔄 Retry Logic Testing
Test exponential backoff and retry mechanisms when encountering server errors.
📊 Analytics Integration
Ensure server errors are properly tracked in analytics and error reporting tools.
🛡️ Graceful Degradation
Test fallback mechanisms and graceful degradation when primary services fail.
📝 Documentation Examples
Provide examples of error handling in API documentation with working endpoints.