我可以使用Android模拟器访问我的笔记本电脑网络服务器,我使用10.0.2.2:portno
效果很好.
但是当我连接我真正的Android手机时,手机浏览器无法连接到笔记本电脑上的同一个Web服务器.手机通过USB线连接到笔记本电脑.如果我运行adb devices命令,我可以看到我的手机.
我错过了什么?
我正在运行的本地计算机上运行Web服务localhost:54722.
我想从Android模拟器中运行的应用程序调用该服务.
我读到10.0.2.2在应用程序中使用将访问localhost,但它似乎也不适用于端口号.它说HttpResponseException: Bad Request.
我正在尝试构建一个Flutter应用程序,我需要使用dart http库进行HTTP调用.所以这是我用来拨打电话的剪辑,
import 'package:flutter/material.dart';
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;
Future<List> getData() async {
List data = new List();
var httpClient = new HttpClient();
var request = await httpClient.get("localhost", 5000, '/search?query=hello');
var response = await request.close();
if (response.statusCode == HttpStatus.OK) {
var jsonString = await response.transform(utf8.decoder).join();
data = json.decode(jsonString);
print(data);
return data;
} else {
return data;
}
}
Run Code Online (Sandbox Code Playgroud)
现在getData()从我的代码调用,这是我得到的错误
E/flutter (30949): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (30949): SocketException: OS Error: Connection refused, …Run Code Online (Sandbox Code Playgroud) 我的目标是在 Intellij 中将“chrome on android”作为可选的运行/调试配置。
我正在寻找一种在我的 android 手机浏览器上运行我的 flutter web 应用程序的方法。我相信这可以通过结合使用 adb 和 chrome devtools 远程连接的 Intellij 中的自定义运行配置来实现。
说明:这应该是免提的,所有答案都有一个共同点,即我必须手动打开网址,但我正在寻找一种在手机上“启动”网址的方法,就像我们可以在 chrome 中启动网络应用程序一样用于桌面。
我知道有可能让 webapp 在连接的设备上运行 - 我正在寻找的是一个运行配置来自动化启动 web 服务器的步骤,复制 url 将其推送到设备,然后在那里打开 url
我正在尝试连接 Flutter 的 HttpClient 以从我在 ASP.Net Core 3.0 上运行的本地服务器获取数据。问题是我每次尝试时都会收到错误 400(错误请求)。
这是颤振代码:
String token = await SharedPreferencesService.getStringFromSF('idToken');
var client = new HttpClient();
client.badCertificateCallback =
(X509Certificate cert, String host, int port) => true;
HttpClientRequest request =
await client.getUrl(Uri.parse('https://10.0.2.2:44383/weatherforcast'));
request.headers.add('idToken', token);
HttpClientResponse response = await request.close();
String reply = await response.transform(utf8.decoder).join();
Run Code Online (Sandbox Code Playgroud)
asp.net core 3.0 端点:
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
[HttpGet]
public User Get()
{
return new User { UserId = 1332, Username = "Michal" };
}
}
Run Code Online (Sandbox Code Playgroud)
错误
<HTML><HEAD><TITLE>Bad …Run Code Online (Sandbox Code Playgroud) 我正在制作一个应用程序,并且我已经在本地运行了一台服务器。我可以通过我的导航器访问网址:
Request URL: http://localhost:4444/categorie?page_size=15&page=1
Request Method: GET
Status Code: 200 OK
Remote Address: 127.0.0.1:4444
Referrer Policy: no-referrer-when-downgrade
Run Code Online (Sandbox Code Playgroud)
预览:
{
"count": 4,
"next": null,
"previous": null,
"results": [
{
"uid": "_b656062d3754",
"name": "Pinga"
},
{
"uid": "_0c644473c244",
"name": "Cerveja"
},
{
"uid": "_75df557ccbaa",
"name": "Vinhos"
},
{
"uid": "_8e32ce3baded",
"name": "Refrigerantes"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试颤动时,请求从不响应:
getCategories() async {
String url = 'http://localhost:4444/categorie?page_size=15&page=1';
var response = await http.get(url);
if (response.statusCode == 200) {
// If the call to the server was successful, …Run Code Online (Sandbox Code Playgroud) flutter ×4
android ×3
asp.net-core ×1
dart ×1
dart-http ×1
django ×1
flutter-web ×1
localhost ×1
port ×1