首页 > 系统相关 >Linux curl测试服务器接口请求

Linux curl测试服务器接口请求

时间:2023-07-12 16:57:33浏览次数:36  
标签:appid 接口 token Linux 服务器 curl root localhost

一、背景

  获取公众号token接口:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

  为向小程序推送公众号消息,需先调用微信接口获取公众号token,而调用该接口需要添加IP白名单,所以这里需要一种方式来获取调用接口所在服务器的外网IP地址(由于网管外出而且缺少关键日志,也不清楚接口在linux服务器上调用产生了什么异常,这里再改代码重新部署比较麻烦,所以直接通过服务器发起接口请求追查原因)。

二、方案

  使用curl函数请求接口,通过返回数据判断问题原因。

三、测试

#第一次调用,curl+URL无法携带参数,为GET请求
[root@localhost ~]# curl https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
[root@localhost ~]# {"errcode":41002,"errmsg":"appid missing rid: 64ae6747-43a71e2c-4c9520a5"}

#第二次调用,使用POST请求,发现服务器外网IP地址不在公众号IP白名单内
[root@localhost ~]# curl -d "grant_type=client_credential&appid=APPID&secret=APPSECRET" https://api.weixin.qq.com/cgi-bin/token
[root@localhost ~]# {"errcode":10164,"errmsg":"invalid ip 123.88.456.789 ipv6 ::ffff:123.88.456.789,not in whitelist rid:64ae2227-7f0c08c4-1b1c491d"}

#第三次调用,使用POST请求并添加外网IP到公众号IP白名单,接口可以正常获取token
[root@localhost ~]# curl -d "grant_type=client_credential&appid=APPID&secret=APPSECRET" https://api.weixin.qq.com/cgi-bin/token
[root@localhost ~]# {"access_token":"66_u66MuIummMEaCAQmaYgov6MpWYM6GWn6FfEX6HbAZxEHXoeEmxb6ZjrSqhIcOw66YF6-uEetwgGLXy6pXhbfPbnHuNo6c6ZpxirAKsX6Rj66PCSTSgAyCiWC6PAOPCjAFAGHU","express_in":"7200"}

 

标签:appid,接口,token,Linux,服务器,curl,root,localhost
From: https://www.cnblogs.com/huakaiyoushi/p/17547945.html

相关文章

  • Linux设置用户密码过期时间或永不过期
    1.查看用户密码有效期:chage-lusername2.修改密码到期时间通过参数-M设置账户密码的到期时间语法:chage -M number-of-days username(扩展:-M 指定的是密码有效的最大天数-m 指定的是密码有效的最小天数。不建议用-m,使用默认最小天数0即可)chage-M90us......
  • 一行命令快速开启 http 文件下载上传服务器
    用Python快速实现HTTP服务器SimpleHTTPServer模块可以把你指定目录中的文件和文件夹以一个简单的Web页面的方式展示出来。SimpleHTTPServer模块默认会在8000端口上监听一个HTTP服务,这时就可以打开浏览器输入http://IP:Port访问这个Web页面。例如类似下面的URL:h......
  • Linux 软件包管理 笔记
    Linux软件包管理: rmp命令:rmp-q软件名#查询是都安装此软件rpm-pl软件名#查询软件安装位置rpm-ivh软件名-版本信息#安装软件包,安装时需要提供......
  • Linux(Centos)安装Mysql的步骤
    因为Mysql收费所以Centos7不能像原来那么丝滑的去安装了,之前很多可行的安装方式现在都需要换个姿势。本人环境是CentOS7,安装的MySQL版本是5.7.34,从卸载到安装全过程记录。一.卸载MySQL(没安装过的可直接跳过)​ ​最后查看一下还有没有MySQL依赖的包名和文件夹,按上面步骤全部......
  • 【C++开源库】Windows 下编译 libcurl 库
    Whatislibcurl?libcurl是一个跨平台的网络协议库,支持http,https,ftp,gopher,telnet,dict,file,和ldap协议。libcurl同样支持HTTPS证书授权,HTTPPOST,HTTPPUT,FTP上传,HTTP基本表单上传,代理,cookies和用户认证。想要知道更多关于libcurl的介绍,可以到官网......
  • linux nohup
    1,安装yuminstallcoreutils2,查看安装路径whichnohup3,查看版本号nohup--versionnohup(GNUcoreutils)8.22Copyright(C)2013FreeSoftwareFoundation,Inc.LicenseGPLv3+:GNUGPLversion3orlater<http://gnu.org/licenses/gpl.html>.Thisisfrees......
  • Linux系统安全限制:禁用或限制用户ssh登录(sshd_config、hosts.allow、hosts.deny、nolo
        我们知道Linux系统安全性设置有很多方式。常见的有通过firewall防火墙、或者iptables规则实现放行、拦截屏蔽某些特征的网络请求。示例:iptables限制ssh链接服务器    还有一种办法是机房运维常用的权限管控手段:管控服务器登录权限、管控账号执行操作权限。这种手段主......
  • linux下批量重命名目录及子目录下的文件
    一、加上后缀名假如只是给当前目录及所有子目录下的文件添加后缀名,使用find和mv就可以了。比如把当前及子目录下所有带_test后缀的文件加上.c后缀find.-typef-name'*_test'-execmv{}{}.c\;find.查找当前及子目录,GNU版本的find也可以省略点号,效果一样。......
  • Linux 安装node环境
    nodejs下载地址是:https://nodejs.org/dist/这里有两种方式下载:下载到本地上传到服务器(相比于第二种更麻烦一些)通过wget命令直接下载到linux服务器上1下载node.jswgethttps://nodejs.org/dist/v12.22.12/node-v12.22.12.tar.gz2 解压node.jstar-zxvfnode-v12.2......
  • Linux | 如何复制文件夹到另一个文件夹
    linux系统使用cp命令即可将一个文件夹里面的文件复制到另外一个文件夹里面。这个命令相当于dos下面的copy命令,具体用法是:cp-r源文件目的文件,其中参数r是指连同源文件中的子目录一同拷贝。在linux系统中复制文件我们可以使用cp或copy命令了,我们要复制文件或目录都可以使用它们......