fetch、axios 在Android上请求失败,报错信息:Network request failed、Network error

本文介绍在Android9.0及以上版本中,由于系统安全性增强导致HTTP无法使用的问题,并提供三种解决方案,帮助开发者应对这一挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

### PostgreSQL 连接被拒绝的原因分析 当遇到 `connection refused` 错误时,通常表示目标服务器上的 PostgreSQL 数据库未运行或配置不正确。以下是可能原因及其解决方案: #### 1. **PostgreSQL 服务未启动** 如果 PostgreSQL 服务未在目标主机上运行,则会触发此错误。可以通过以下命令检查服务状态: ```bash sudo systemctl status postgresql ``` 如果没有运行,可以尝试启动服务: ```bash sudo systemctl start postgresql ``` 确认监听端口是否正常工作: ```bash netstat -anp | grep 5432 ``` 或者使用 `lsof` 命令查看是否有进程绑定到该端口: ```bash lsof -i:5432 ``` 上述操作应显示类似如下结果[^2]: ``` COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME postgres 1234 postgres 17u IPv4 104570 0t0 TCP *:postgresql (LISTEN) ``` #### 2. **防火墙阻止连接** 即使 PostgreSQL 正常运行,也可能因防火墙设置导致外部无法访问。检查目标主机的防火墙规则: ```bash sudo iptables -L -n | grep 5432 ``` 如果没有允许规则,可添加一条新规则开放端口: ```bash sudo iptables -A INPUT -p tcp --dport 5432 -j ACCEPT ``` 对于现代 Linux 发行版中的 `firewalld`,执行以下命令: ```bash sudo firewall-cmd --add-port=5432/tcp --permanent sudo firewall-cmd --reload ``` #### 3. **pg_hba.conf 配置不当** PostgreSQL 的客户端认证文件 `pg_hba.conf` 可能不允许远程连接。编辑 `/etc/postgresql/[version]/main/pg_hba.conf` 文件,确保有类似以下条目: ``` host all all 0.0.0.0/0 md5 ``` 保存后重新加载 PostgreSQL 配置: ```bash sudo systemctl reload postgresql ``` #### 4. **postgressql.conf 中 listen_addresses 设置问题** 默认情况下,PostgreSQL 只监听本地回环地址 (`localhost`)。修改 `/etc/postgresql/[version]/main/postgresql.conf` 文件中的 `listen_addresses` 参数为: ``` listen_addresses = '*' ``` 这会使 PostgreSQL 监听所有网络接口。 #### 5. **IP 地址不可达或其他网络问题** 验证目标 IP 是否可达以及端口是否打开: ```bash ping 210.41.222.175 telnet 210.41.222.175 5432 ``` 如果 `ping` 不通或 `telnet` 失败,可能是路由或 NAT 配置有问题。 --- ### 总结 通过以上方法逐一排查,基本能够定位并解决 `connection refused` 问题。需要注意的是,在调整配置前备份原始文件以防意外发生。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值