1、问题描述
通过curl命令,在linux服务器里直接获取access_token,请求获取access_token的方法为GET方法,需要传递appid/secret等参数,用以下的curl命令时:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx123123123ae8c140f&secret=werwer45345e76f2d7b,
返回{"errcode":41002,"errmsg":"appid missing hint: [YDkQGa05431501]"}错误,找不到appid。
2、问题原因
由于请求的url中有&,其他参数获取不到,在linux系统中& 会使进程系统后台运行,必须对&进行下转义才能获取到所有参数。
3、解决办法
(1)、对所有&进行转义,前面加上转义符\,如下示例:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential\&appid=wx123123123ae8c140f\&secret=werwer45345e76f2d7b
(2)、将整个请求的url用单引号括起来:
'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential\&appid=wx123123123ae8c140f\&secret=werwer45345e76f2d7b'
本文介绍了一个关于在Linux环境下使用curl命令获取微信access_token时遇到的问题及解决办法。当URL中包含&符号时,Linux系统会将其解释为后台进程启动符,导致参数无法正确传递。文章提供了两种解决方案:一种是对&进行转义;另一种是将整个URL用单引号括起来。
4177






