47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
import os
|
||
import sys
|
||
import urllib.request
|
||
import json
|
||
|
||
def test_tavily(api_key: str):
|
||
url = "https://api.tavily.com/search"
|
||
headers = {
|
||
"Content-Type": "application/json"
|
||
}
|
||
data = {
|
||
"api_key": api_key,
|
||
"query": "武汉明天的天气",
|
||
"search_depth": "basic",
|
||
"include_answer": False,
|
||
"max_results": 3
|
||
}
|
||
|
||
# 模拟请求
|
||
req = urllib.request.Request(url, data=json.dumps(data).encode('utf-8'), headers=headers, method='POST')
|
||
try:
|
||
with urllib.request.urlopen(req) as response:
|
||
result = json.loads(response.read().decode('utf-8'))
|
||
print("✅ Tavily API Key 测试成功!成功获取以下搜索结果:\n")
|
||
|
||
for i, res in enumerate(result.get("results", [])):
|
||
print(f"[{i+1}] 标题: {res.get('title')}")
|
||
print(f" 内容: {res.get('content')}")
|
||
print(f" 链接: {res.get('url')}\n")
|
||
|
||
except urllib.error.HTTPError as e:
|
||
print(f"❌ 请求失败,HTTP 错误代码: {e.code}")
|
||
print("这通常意味着您的 API Key 错误或无效。详细信息:")
|
||
error_msg = e.read().decode('utf-8')
|
||
print(error_msg)
|
||
except Exception as e:
|
||
print(f"❌ 发生其他错误: {str(e)}")
|
||
|
||
if __name__ == "__main__":
|
||
key = input("请输入您的 Tavily API Key (以 tvly- 开头): ").strip()
|
||
if not key:
|
||
print("未输入 Key,程序退出。")
|
||
sys.exit(1)
|
||
|
||
print("\n正在连接 Tavily 进行测试搜索...")
|
||
test_tavily(key)
|