Fluter 网络请求图片403 防盗链处理解决办法

很多网站都会做防盗链处理

  • 我们请求使用flutter 请求是403
  • 浏览器请求是正常的

原因

  • 在判定了用户的请求头 user-agent

处理办法

  • 去掉原有的请求头
  • 使用浏览器的请求头

修改源码

  • 首页
  • 检索页

详情页面


结果页面

 assert(key == this);

      final Uri resolved = Uri.base.resolve(key.url);

      final HttpClientRequest request = await _httpClient.getUrl(resolved);
      request.headers.set(
        "user-agent",
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
      );


      headers?.forEach((String name, String value) {
        request.headers.add(name, value);
      });
      final HttpClientResponse response = await request.close();
posted @ 2023-12-13 10:26  vx_guanchaoguo0  阅读(101)  评论(0编辑  收藏  举报