首页 > 解决方案 > 尝试将本地主机与我自己的主机连接时连接被拒绝价值观

问题描述

我想连接我的本地主机并使用我的参数获取令牌。当我使用此代码连接我的设备时,我遇到错误连接被拒绝!

这是我的代码。

class _MyHomePageState extends State<MyHomePage> {

      var formContent = {
        "grant_type": "1",
        "branchcode": "0",
        "password": "1",
        "username": "1",
        "dbname": "1",
        "dbuser": "1",
        "dbpassword": "1",
        "dbtype": "0"
      };

      Future<String> getData() async {
        var postBody= json.encode(formContent);
        var response = await http.post(
            Uri.encodeFull("http://localhost:7070/api/v2/token"),
            body:postBody,
            headers: {"Accept": "application/json"});
        if(response.statusCode == 200){
          return String.fromCharCode(json.decode(response.body));
        }else{
          throw Exception('Failed');
        }
      }

      @override
      Widget build(BuildContext context) {
        return new Scaffold(
          body: new Center(
            child: new RaisedButton(
              child: new Text("Get The Data"),
              onPressed: getData,
            ),
          ),
        );
      }
    }

我无法将我的本地主机与我自己的值连接起来。我有一个错误,比如连接被拒绝,但我不明白为什么?

Unhandled Exception: SocketException: OS Error: Connection refused, errno = 111, address = localhost, port = 40109

标签: androidiosdartfluttersocketexception

解决方案


给出的错误通常是由于设备/模拟器没有网络连接,或者给定端点无法访问(即服务器离线,地址不正确)引起的。如果问题是由后者引起的,您可以尝试将根地址从“localhost”替换为“10.0.2.2”。这是因为模拟器拦截了地址并将其转换为“127.0.0.1” - 此处解释了有关此的更多详细信息https://developer.android.com/studio/run/emulator-networking


推荐阅读