ICP备案信息查询API接口

[复制链接]
作者: Xidorn | 时间: 2023-10-9 10:49:21 | 编程开发|
19 1043

149

主题

556

回帖

4378

积分

管理员

积分
4378

论坛元老最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理

发表于 2023-10-9 10:49:21| 显示全部楼层 |阅读模式
来源:https://github.com/yitd/ICP-API
  1. header("Access-Control-Allow-Origin:*");
  2. header("Access-Control-Allow-Methods:GET");
  3. header("Access-Control-Allow-Headers:x-requested-with,content-type");
  4. header("Content-Type:text/html,application/json; charset=utf-8");
  5. if ($_GET['domain']) {
  6.     $domain = getTopHost($_GET['domain']);
  7. } else {
  8.     exit("缺少参数");
  9. }
  10. $timeStamp = time();
  11. $authKey = md5("testtest" . $timeStamp);
  12. $token = json_decode(curl_post("auth", "authKey=$authKey&timeStamp=$timeStamp", "application/x-www-form-urlencoded;charset=UTF-8", "0"));
  13. $token = $token->params->bussiness;
  14. $query = json_decode(curl_post("icpAbbreviateInfo/queryByCondition", '{"pageNum":"","pageSize":"","serviceType":"1","unitName":"' . $domain . '"}', "application/json;charset=UTF-8", $token));
  15. $query = json_encode($query->params->list);
  16. $query = str_replace("[", "", $query);
  17. $query = json_decode(str_replace("]", "", $query));
  18. $icp = $query->serviceLicence;
  19. $unitName = $query->unitName;
  20. $natureName = $query->natureName;
  21. if (!$token) {
  22.     $icp = "服务器请求频率过高,请稍后再试";
  23.     $msg = "查询失败";
  24.     $code = "0";
  25. } elseif (!$icp) {
  26.     $icp = "未备案";
  27.     $msg = "查询成功";
  28.     $code = "1";
  29. } else {
  30.     $msg = "查询成功";
  31.     $code = "1";
  32. }
  33. $json = array(
  34.     'icp' => $icp,
  35.     'unitName' => $unitName,
  36.     'natureName' => $natureName,
  37.     'msg' => $msg,
  38.     'result' => $code
  39. );
  40. print_r(json_encode($json, JSON_UNESCAPED_UNICODE));

  41. function curl_post($url, $data, $Content, $token) {
  42.     $ip = "101.".mt_rand(1,255).".".mt_rand(1,255).".".mt_rand(1,255);
  43.     $ch = curl_init();
  44.     $headers = array(
  45.         "Content-Type: $Content",
  46.         "Origin: <a href="https://beian.miit.gov.cn/" target="_blank">https://beian.miit.gov.cn/</a>",
  47.         "Referer: <a href="https://beian.miit.gov.cn/" target="_blank">https://beian.miit.gov.cn/</a>",
  48.         "token: $token",
  49.         "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36",
  50.         "CLIENT-IP: $ip",
  51.         "X-FORWARDED-FOR: $ip"
  52.     );
  53.     curl_setopt($ch, CURLOPT_URL, "https://hlwicpfwc.miit.gov.cn/icpproject_query/api/" . $url);
  54.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  55.     curl_setopt($ch, CURLOPT_POST, 1);
  56.     curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  57.     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  58.     curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  59.     curl_setopt($ch, CURLOPT_HEADER, 0);
  60.     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  61.     curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  62.     $content = curl_exec($ch);
  63.     curl_close($ch);
  64.     return $content;
  65. }
  66. function getTopHost($url) {
  67.     if (stristr($url, "http") === false) {
  68.         $url = "http://" . $url;
  69.     }
  70.     $url = strtolower($url);
  71.     $hosts = parse_url($url);
  72.     $host = $hosts['host'];
  73.     $data = explode('.', $host);
  74.     $n = count($data);
  75.     $preg = '/[\w].+\.(com|net|org|gov|edu)\.cn$/';
  76.     $pregip = '/((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}/';
  77.     if (($n > 2) && preg_match($preg, $host)) {
  78.         $host = $data[$n - 3] . '.' . $data[$n - 2] . '.' . $data[$n - 1];
  79.     } elseif (preg_match($pregip, $host)) {
  80.         $host = $host;
  81.     } else {
  82.         $host = $data[$n - 2] . '.' . $data[$n - 1];
  83.     }
  84.     return $host;
  85. }
复制代码
完整文件请下载附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
网谋论坛 https://wm.lt

74

主题

400

回帖

2427

积分

版主

积分
2427

最佳新人热心会员突出贡献宣传达人推广达人

发表于 2023-10-9 11:05:38| 显示全部楼层
新的么?不是改了吗?

点评

新的!感谢@胖虎 大佬帮忙修复bug!  详情 回复 发表于 2023-10-9 11:49
回复

使用道具 举报

22

主题

79

回帖

1021

积分

版主

积分
1021

最佳新人热心会员

QQ
发表于 2023-10-9 11:43:48| 显示全部楼层
新的有效?

点评

亲测有效!  详情 回复 发表于 2023-10-9 11:48
回复

使用道具 举报

149

主题

556

回帖

4378

积分

管理员

积分
4378

论坛元老最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理

 楼主| 发表于 2023-10-9 11:48:14| 显示全部楼层

亲测有效!
网谋论坛 https://wm.lt
回复

使用道具 举报

149

主题

556

回帖

4378

积分

管理员

积分
4378

论坛元老最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理

 楼主| 发表于 2023-10-9 11:49:06| 显示全部楼层
帮主 发表于 2023-10-9 11:05
新的么?不是改了吗?

新的!感谢@胖虎 大佬帮忙修复bug!
网谋论坛 https://wm.lt
回复

使用道具 举报

1

主题

27

回帖

124

积分

新手上路

积分
124
发表于 2023-10-13 22:12:21| 显示全部楼层
Xidorn 发表于 2023-10-9 11:49
新的!感谢@胖虎 大佬帮忙修复bug!

我看这个代码都两年没有修改过了。哈哈哈,我也是前几天在大佬论坛看到有人问的,我就想起之前搜到过这个项目的。就去看看,发现好像是有问题了,就稍微研究了一下,发现新的网站只是多了个参数而已。

我前几天看的时候,好像发现里面的判断不是太懂,应该用total 这个参数去判断有多少个查询结果,如果0个就是没有备案。当没有查询到备案结果的时候,他根本不存在你判断的那个icp 【serviceLicence】字段。
感觉下面的判断不是太严谨。


  1. if (!$token) {
  2.     $icp = "服务器请求频率过高,请稍后再试";
  3.     $msg = "查询失败";
  4.     $code = "0";
  5. } elseif (!$icp) {
  6.     $icp = "未备案";
  7.     $msg = "查询成功";
  8.     $code = "1";
  9. } else {
  10.     $msg = "查询成功";
  11.     $code = "1";
  12. }
复制代码

点评

谢谢,前两天就是我问的。 我自己用的修复了判断,这个是搬运的就没修改!  详情 回复 发表于 2023-10-14 22:00

评分

参与人数 2金币 +987 收起 理由
Xidorn + 888 很给力!
东东 + 99 厉害👍🏻

查看全部评分

回复

使用道具 举报

28

主题

145

回帖

2806

积分

版主

积分
2806

宣传达人推广达人热心会员最佳新人突出贡献

QQ
发表于 2023-10-13 22:24:10| 显示全部楼层
牛逼啊,辛苦了
www.77.ink七七云提醒
回复

使用道具 举报

37

主题

153

回帖

3694

积分

版主

积分
3694

最佳新人热心会员推广达人宣传达人突出贡献

发表于 2023-10-14 00:55:13来自手机 | 显示全部楼层
也不知道打赏一下
回复

使用道具 举报

149

主题

556

回帖

4378

积分

管理员

积分
4378

论坛元老最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理

 楼主| 发表于 2023-10-14 22:00:46| 显示全部楼层
胖虎 发表于 2023-10-13 22:12
我看这个代码都两年没有修改过了。哈哈哈,我也是前几天在大佬论坛看到有人问的,我就想起之前搜到过这个 ...

谢谢,前两天就是我问的。
我自己用的修复了判断(我直接判断serviceLicence 是否存在),这个是搬运的就没修改!
网谋论坛 https://wm.lt
回复

使用道具 举报

1

主题

27

回帖

124

积分

新手上路

积分
124
发表于 2023-10-14 23:07:52| 显示全部楼层
Xidorn 发表于 2023-10-14 22:00
谢谢,前两天就是我问的。
我自己用的修复了判断(我直接判断serviceLicence 是否存在),这个是搬运的就 ...

哈哈,我有时间的话,看看能不能把你的那个扩充一下,把其他几个查询都给列出来。

点评

大佬,请问这个接口是否可以查询备案站点名称?谢谢!  详情 回复 发表于 2023-10-20 08:31
好的,非常感谢!  详情 回复 发表于 2023-10-14 23:17
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 返回顶部