1

我正在尝试验证用户应输入的 Instagram 用户名。我想知道该用户名的帐户是否存在。我试过这样:

 final request = await http.get('https://www.instagram.com/$username/');

 if (request.statusCode != 404) {
 ...
 }

我还看了一个类似的问题:检查 instagram 帐户名是否可用

答案中提到的链接:(https://www.instagram.com/username/?__a=1)在浏览器中工作正常

(如果用户名存在则显示账户的所有信息,如果不存在则显示两个空括号)

但在我的代码中我没有statusCode 404得到statusCode 200。我也无法捕捉到错误。这与我的代码中的链接相同(https://www.instagram.com/$username/),我明白了statusCode 200。有没有我还没有考虑过的不同方式?

提前感谢您的回答!

4

1 回答 1

0

这只是一个 http 请求,如果您获得成功状态,请检查请求中的正文,例如,如果您获得成功代码但正文为空{},您可以解码正文响应并以这种方式检查:

  void checkUser() async {
    final request = await http.get('https://www.instagram.com/fakeUserExample/?__a=1');

    final decodeData = json.decode(request.body);

    if(decodeData.isEmpty){
      print(".:: User Not Found ::.");
    }
  }

不要忘记导入import 'dart:convert';

希望能帮助到你。

于 2020-05-27T16:29:11.957 回答