收藏
回答

php如何获取体验小程序的体验二维码呢

开发第三方平台,要获取体验小程序的体验二位吗,我使用接口:$getUrl = "https://api.weixin.qq.com/wxa/get_qrcode?access_token="

提交方式

$ch = curl_init();

      curl_setopt($ch, CURLOPT_URL, $getUrl);

      curl_setopt($ch, CURLOPT_HEADER, 0);

      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

      curl_setopt($ch, CURL_SSLVERSION_SSL, 2);

      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

      

      

      $data = curl_exec($ch);

      

获取得到的是乱码,也不知道怎么才能得到文档上面格式的数据

最后一次编辑于  2018-05-04
回答关注问题邀请回答
收藏

4 个回答

  • 常迟
    常迟
    2018-05-08

    谢谢你,我成功获取到图片了,原来乱码真的是图片,但是由于我用错了生成方式,所以得到的图片是空的,用

    file_put_contents

    函数是可以的。

    2018-05-08
    赞同
    回复
  • Y!an
    Y!an
    2018-05-07

    不知道你有没有仔细看文档,响应示例里有这么两行:

    Content-Type: image/jpeg

    Content-disposition: attachment; filename="QRCode.jpg"

    这个接口返回的是一个 .jpg 文件,你直接输出肯定是乱码的,你可以把它写入到一个外部文件里去,比如可以这样:

    file_put_contents(__DIR__ . "QRCode.jpg", $output);

    然后打开你这个 PHP 文件同目录下的 QRCode.jpg 查看即可

    2018-05-07
    赞同
    回复
  • 常迟
    常迟
    2018-05-07

     

    谢谢指出错误的地方,只是我改了一版后还是显示乱码。现在是

    $getUrl   "https://api.weixin.qq.com/wxa/get_qrcode?access_token=9_NKT7hL2E8wIkVF-HhKG1lvXexGcXFcZPZgpre4H1Z5rRLP3_uG5INaT74ch5lhZRG6O4x3GZ2uIDVq_zdZXWUW332dtOWCn0EVZ1SjmeY6cK3zP9Qo2w0klBFpgqCKc0PfG4YzZvoa2ULIhBQGTaAJDCSF" ;
     
               $curl   = curl_init();
     
             curl_setopt( $curl ,CURLOPT_URL, $getUrl );
     
             curl_setopt( $curl ,CURLOPT_SSL_VERIFYPEER,FALSE);
     
             curl_setopt( $curl ,CURLOPT_SSL_VERIFYHOST,FALSE);
      
             curl_setopt( $curl ,CURLOPT_RETURNTRANSFER,1);
     
             $output   = curl_exec( $curl );
     
             curl_close( $curl );

    输出的东西是

    这个样子的,看起来很像是错误打开图片的乱码,可是生成图片又什么都没有


    2018-05-07
    赞同
    回复
  • Y!an
    Y!an
    2018-05-06
    curl_setopt(getUrl);

    这一行是不是写错了?改成下面这个:

    curl_setopt($ch, CURLOPT_URL, $getUrl);


    另外,curl_setopt($ch, CURL_SSLVERSION_SSL, 2); 这一行不明白你是要干嘛?不知道你是不是想写成下面这样:

    curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_SSLv2);

    PHP 官方不建议设置为 SSLv2 和 SSLv3,在你不了解这是在干嘛的情况下,建议你删除这一行

    2018-05-06
    赞同
    回复