Приложение Flutter не смогло сделать HTTP-запрос на симуляторе iOS

Я попытался сделать простой HTTP-запрос на получение с помощью Dio в приложении Flutter следующим образом:

Dio dio = new Dio();
Response response = await dio.get('https://www.baidu.com');
print(response.data.toString());

Он отлично работает на реальном устройстве iOS, но время ожидания на симуляторах iOS.

SocketException: OS Error: Operation timed out, errno = 60

Я также пробовал другие пакеты, такие как http, но время ожидания истекло. Родные приложения, запущенные на симуляторе, не имеют такой же проблемы. Что я могу сделать, чтобы это исправить?

2 ответа

Я смог заставить его работать с Dio используя приведенный ниже код в симуляторе iOS, если вы хотите увидеть, как http проверьте работу поваренной книги, также попробуйте подключиться к открытой сети, например, к домашнему Wi-Fi или что-то еще, и посмотрите

Примечание: это часть из проекта флаттера iOS/ Android

import 'dart:async';

import 'package:flutter/material.dart';
import 'package:dio/dio.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {

  fetchData()async {

    Dio dio = new Dio();
    Response response=await dio.get('https://www.baidu.com');
    print(response.data);
  }
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Fetch Data Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Fetch Data Example'),
        ),
        body: Center(
          child: new IconButton(icon:new Icon(Icons.all_inclusive) , onPressed: (){
            fetchData();
          })
        ),
      ),
    );
  }
}

ОТВЕТ

flutter: <!DOCTYPE html>
<!--STATUS OK-->

<html>
<head>

    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <meta content="always" name="referrer">
    <meta name="theme-color" content="#2932e1">
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
    <link rel="search" type="application/opensearchdescription+xml" href="/content-search.xml" title="百度搜索" />
    <link rel="icon" sizes="any" mask href="//www.baidu.com/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg">


    <link rel="dns-prefetch" href="//s1.bdstatic.com"<…>

Если ни один из API не работает в симуляторе, я предполагаю, что это связано с настройками прокси-сервера вашей системы, поскольку он использует Интернет ваших компьютеров. Пожалуйста, посмотрите.

Другие вопросы по тегам