Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """ | |
| Debug script to check API status and endpoints | |
| """ | |
| import requests | |
| import json | |
| def check_space_status(): | |
| """Check if the space is running""" | |
| print("π Checking space status...") | |
| try: | |
| # Check main page | |
| response = requests.get("https://hanszhu-dense-captioning-platform.hf.space/") | |
| print(f"Main page status: {response.status_code}") | |
| if response.status_code == 200: | |
| print("β Space is accessible") | |
| else: | |
| print("β Space is not accessible") | |
| except Exception as e: | |
| print(f"β Error checking space: {e}") | |
| def check_api_endpoints(): | |
| """Check various API endpoints""" | |
| print("\nπ Checking API endpoints...") | |
| base_url = "https://hanszhu-dense-captioning-platform.hf.space" | |
| endpoints = [ | |
| "/", | |
| "/api", | |
| "/api/predict", | |
| "/predict", | |
| "/api/predict/", | |
| "/predict/" | |
| ] | |
| for endpoint in endpoints: | |
| try: | |
| response = requests.get(f"{base_url}{endpoint}") | |
| print(f"{endpoint}: {response.status_code} - {response.headers.get('content-type', 'unknown')}") | |
| if response.status_code == 200: | |
| print(f" Content preview: {response.text[:100]}...") | |
| except Exception as e: | |
| print(f"{endpoint}: Error - {e}") | |
| def test_post_request(): | |
| """Test POST request to predict endpoint""" | |
| print("\nπ Testing POST request...") | |
| try: | |
| # Test URL | |
| test_url = "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png" | |
| # Try different POST formats | |
| test_data = [ | |
| {"data": [test_url]}, | |
| {"fn_index": 0, "data": [test_url]}, | |
| {"data": test_url}, | |
| test_url | |
| ] | |
| for i, data in enumerate(test_data): | |
| print(f"\nTest {i+1}: {type(data)}") | |
| try: | |
| response = requests.post( | |
| "https://hanszhu-dense-captioning-platform.hf.space/predict", | |
| json=data, | |
| headers={"Content-Type": "application/json"} | |
| ) | |
| print(f" Status: {response.status_code}") | |
| print(f" Content-Type: {response.headers.get('content-type', 'unknown')}") | |
| print(f" Response: {response.text[:200]}...") | |
| except Exception as e: | |
| print(f" Error: {e}") | |
| except Exception as e: | |
| print(f"β Error in POST test: {e}") | |
| def test_gradio_client_detailed(): | |
| """Test gradio_client with detailed error handling""" | |
| print("\nπ Testing gradio_client with detailed error handling...") | |
| try: | |
| from gradio_client import Client | |
| print("Creating client...") | |
| client = Client("hanszhu/Dense-Captioning-Platform") | |
| print("Getting space info...") | |
| info = client.view_api() | |
| print(f"API info: {info}") | |
| print("Making prediction...") | |
| test_url = "https://raw.githubusercontent.com/gradio-app/gradio/main/test/test_files/bus.png" | |
| result = client.predict(test_url, api_name="/predict") | |
| print(f"β Success! Result: {result}") | |
| except Exception as e: | |
| print(f"β gradio_client error: {e}") | |
| import traceback | |
| traceback.print_exc() | |
| if __name__ == "__main__": | |
| print("π Debugging Dense Captioning Platform API") | |
| print("=" * 60) | |
| check_space_status() | |
| check_api_endpoints() | |
| test_post_request() | |
| test_gradio_client_detailed() | |
| print("\n" + "=" * 60) | |
| print("οΏ½οΏ½ Debug completed!") |