我想连接我的本地主机并使用参数获取令牌。使用此代码在设备中连接时,我拒绝了错误连接!
这是我的代码。
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
答案 0 :(得分:0)
给出的错误通常是由设备/模拟器没有网络连接或无法访问给定端点(即服务器离线,地址不正确)引起的。如果问题是由后者引起的,您可以尝试将根地址从“localhost”替换为“10.0.2.2”。这是因为模拟器拦截了地址并将其转换为“127.0.0.1” - 此处解释了有关此的更多详细信息https://developer.android.com/studio/run/emulator-networking