php http请求问题

Mayfool 2014-08-26 11:49:42
错误信息:{"errcode":41001,"errmsg":"access_token missing"}
<?php
//发送POST请求
$url = "https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=";
$access_token = "bz6LKNCiQN5fHDZNJwWbCiPXqRkrlkBUcBGwb3MlM-tmnXK6TGsHGbsETwcOXmezlIouHdD7Rv3g9aLicuF-gA";
$url = $url . urlencode($access_token);
echo "请求url:" . $url ."<br>";
//要请求的内容
$data['action_name'] = "QR_LIMIT_SCENE";
$scene['scene_id'] = 10;
$action_info['scene'] = $scene;
$data['action_info'] = $action_info;
$data = json_encode($data);
echo "请求参数:" . $data ."<br>";

//url
$url_info = parse_url($url);
var_dump($url_info);
echo "<br>";
if(!isset($url_info['port']))
{
$url_info['port'] = 80;
//模拟http请求头
$request .= "POST ".$url_info['path']." HTTP/1.1\n";
$request .= "Host: ".$url_info['host']."\n";
$request .= "Content-type: application/x-www-form-urlencoded\n";
$request .= "Content-length: ".strlen($data)."\n";
$request .= "Connection: close\n";
$request .= "\n";
$request .= $data."\n";
}

$fp = fsockopen($url_info["host"], $url_info["port"]);
fputs($fp, $request);//把HTTP头发送出去

$inheader = 1;
while(!feof($fp))
{
//$result 是提交后返回的数据
$result .= fgets($fp, 1024);
}
echo $result;
fclose($fp);
?>
...全文
2525 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mayfool 2014-08-26
  • 打赏
  • 举报
回复
我的url里面带access_token参数了啊,为上面会这样,求指导
xuzuning 2014-08-26
  • 打赏
  • 举报
回复
41001 缺少access_token参数 返回码说明
Mayfool 2014-08-26
  • 打赏
  • 举报
回复
把参数token拼接在path后面的确可以了
xuzuning 2014-08-26
  • 打赏
  • 举报
回复
$request .= "POST ".$url_info['path']." HTTP/1.1\n"; 这里填写带路径和参数的目标页名称,比如 /cgi-bin/qrcode/create?access_token=????? 无论是 get 还是 post 方式,都是这样写
Mayfool 2014-08-26
  • 打赏
  • 举报
回复
access_token在url里面,get参数,这个参数应该怎么加
程序猿之殇 2014-08-26
  • 打赏
  • 举报
回复
$fp = fsockopen($url_info["host"], $url_info["port"]); 和 $request .= "POST ".$url_info['path']." HTTP/1.1\n"; $request .= "Host: ".$url_info['host']."\n"; $request .= "Content-type: application/x-www-form-urlencoded\n"; $request .= "Content-length: ".strlen($data)."\n"; $request .= "Connection: close\n"; $request .= "\n"; $request .= $data."\n"; 里没有发现有token的信息。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧