#!/usr/bin/env python3
"""Find xiangfuqu API endpoint"""
import requests, re, sys
sys.stdout.reconfigure(encoding='utf-8')

# First check the page HTML for API URLs
r = requests.get('https://www.xiangfuqu.gov.cn/kfsxfqwz/c00511/pc/list.html', 
                 headers={'User-Agent': 'Mozilla/5.0'}, timeout=60)
html = r.text

# Find all AJAX/API URLs in the page
urls = re.findall(r'["\'](https?://[^"\']*(?:api|list|article|content)[^"\']*)["\']', html)
print("API URLs in page:")
for u in urls[:10]:
    print(f"  {u[:120]}")

# Also find relative URLs with api
api_relative = re.findall(r'["\'](/[^"\']*(?:api|list|article|content)[^"\']*\.(?:do|json|action|html|jsp)[^"\']*)["\']', html)
print("\nRelative API URLs:")
for u in api_relative[:10]:
    print(f"  {u[:120]}")

# Check for specific patterns
patterns = ['/api/', '/article/', '/list/', '/getList', '/content/', '/ucap/']
for p in patterns:
    idx = html.find(p)
    if idx > 0:
        context = html[max(0,idx-50):idx+150]
        print(f"\nFound '{p}': ...{context}...")
        break

# Try the UCAP API - common pattern
base = 'https://www.xiangfuqu.gov.cn'
# Try a common UCAP API pattern
api_urls_to_try = [
    f'{base}/ucap/website/article/list?page=1&pageSize=20&channelId=939929095397969920&websiteId=1873534524856287232',
    f'{base}/api/article/list?page=1&pageSize=20&channelId=939929095397969920',
    f'{base}/api/content/list?channelId=939929095397969920&page=1&pageSize=20',
    f'{base}/kfsxfqwz/c00511/pc/list.json?page=1',
    f'{base}/kfsxfqwz/c00511/pc/list_data.json?page=1',
    f'{base}/article/list?channelId=939929095397969920&pageNo=1&pageSize=20',
]
for api_url in api_urls_to_try:
    try:
        r2 = requests.get(api_url, headers={'User-Agent': 'Mozilla/5.0'}, timeout=15)
        txt = r2.text[:300]
        print(f"\n{api_url.split('?')[0][-40:]}?... HTTP {r2.status_code}")
        print(f"  {txt[:200]}")
    except Exception as e:
        print(f"\n{api_url.split('?')[0][-40:]}?... ERROR: {e}")
