Android模拟器运行Flutter代码调用OpenAI API时连接超时求助
Flutter模拟器连接OpenAI API超时问题求助
环境信息
- Android Studio版本:Electric Eel | 2022.1.1 Patch 2
- Flutter版本:3.7.8
- 测试模拟器:Nexus 6 API 28
问题描述
代码在本地运行正常,但在模拟器中调用https://api.openai.com/v1/chat/completions接口时,始终返回connection timed out错误。
相关代码
Future<Album> fetchAlbum() async { final response = await http.post( Uri.parse('https://api.openai.com/v1/chat/completions'), headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer $apiKey', }, body: jsonEncode({ "model": "gpt-3.5-turbo", "messages": [ { "role": "user", "content": '$prompt', } ] }), ); if (response.statusCode == 200) { return Album.fromJson(jsonDecode(response.body)); } else { throw Exception('Failed to load album'); } } class Album{ ... } //details omitted void main() => runApp(const MyApp()); class MyApp extends StatefulWidget { const MyApp({super.key}); @override State<MyApp> createState() => _MyAppState(); } class _MyAppState extends State<MyApp> { late Future<Album> futureAlbum; String prompt = 'hello'; @override void initState() { super.initState(); futureAlbum = fetchAlbum(); } @override Widget build(BuildContext context) { return MaterialApp( title: 'Fetch Data from OpenAi', theme: ThemeData( primarySwatch: Colors.blue, ), home: Scaffold( appBar: AppBar( title: const Text('Fetch Data from OpenAi'), ), body: Center( child: FutureBuilder<Album>( future: futureAlbum, builder: (context, snapshot) { if (snapshot.hasData) { return Column( children: [ Text('object' + snapshot.data!.object), Text('id: ' + snapshot.data!.id), Text('created' + snapshot.data!.created.toString()), Text('content: ' + snapshot.data!.content) ], ); } else if (snapshot.hasError) { return Text('${snapshot.error}'); } // By default, show a loading spinner. return const CircularProgressIndicator(); }, ), ), ), ); } }
求助
有没有遇到相同问题的开发者,能分享解决经验?非常感谢!
内容的提问来源于stack exchange,提问作者Xiangqian
相关产品推荐
相关产品推荐

