尝试使用我自己的<keyvaluepair>值连接本地主机时,连接被拒绝

时间:2019-03-08 09:44:19

标签: android ios dart flutter socketexception

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

这是我的代码。

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

1 个答案:

答案 0 :(得分:0)

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