url包含端口时如何使用Flutter http请求?

Posted

技术标签:

【中文标题】url包含端口时如何使用Flutter http请求?【英文标题】:How to use Flutter http request when the url contain port? 【发布时间】:2020-04-02 18:45:52 【问题描述】:

我正在尝试向配置了端口的网站发送发布请求。 http://example.com:8080/。当我发送请求时,它显示一些错误

http.post('example.com:8080/apps/api.php', body: 'name': 'doodle', 'color': 'blue').then((response) 
  print(response);
);

未处理的异常:SocketException:主机查找失败:'example.com'(操作系统错误:没有与主机名关联的地址,errno = 7)

该端口在那里被忽略。有什么办法可以解决这个问题吗?或者还有其他我可以使用的 http 库吗?

【问题讨论】:

被忽略的端口?它没有那么远。您的意思是找不到服务器 example.com。 您能否用一些代码更新您的问题,您是如何发送请求的。 ? @KumarLokeshRathod 添加。 这个SOF 可能会有所帮助! 【参考方案1】:

这可能不是端口问题。确保您在 android 清单文件 (android/app/src/main/AndroidManifest.xml) 中设置了正确的权限,以便能够从您的 Android 应用进行 HTTP 调用:

<uses-permission android:name="android.permission.INTERNET" />

有关here 的更多详细信息以及来自Android 的有关权限here 的官方文档。

【讨论】:

【参考方案2】:

如果您已添加此行 &lt;uses-permission android:name="android.permission.INTERNET" /&gt; 在 android/app/src/main/AndroidManifest.xml 然后尝试重新启动模拟器或计算机本身。 就我而言,我重新启动了笔记本电脑,一切都很好。大部分时候重启电脑都会解决这样的问题。

【讨论】:

以上是关于url包含端口时如何使用Flutter http请求?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用包含端口和路径的URL的导航方法

如何在 Flutter 中使用 JSON 正文发出 http DELETE 请求?

输入类型URL - 如果不包含HTTP,则说“请输入URL”

如何使用自定义端口运行 Flutter Web

如何在 Flutter/Dart 中使用 url 编码的标头和正文发出 HTTP POST 请求

http包在flutter中从api获取错误的图像url