老莫的笔记本  
  
查看: 997|回复: 0

论周某人的 tp5 curl 去死吧!

[复制链接]

662

主题

878

帖子

5141

积分

超级版主

Rank: 8Rank: 8

积分
5141
发表于 2020-5-15 11:06:41 | 显示全部楼层 |阅读模式
1. 话说我为啥报错呢?
原因:
  1. public function curl_get($url)
  2.         {

  3.                 $info = curl_init();
  4.                 curl_setopt($info,CURLOPT_RETURNTRANSFER,true);
  5.                 curl_setopt($info,CURLOPT_HEADER,0);
  6.                 curl_setopt($info,CURLOPT_NOBODY,0);
  7.                 curl_setopt($info,CURLOPT_SSL_VERIFYPEER,false);
  8.                 curl_setopt($info,CURLOPT_SSL_VERIFYPEER,false);
  9.                 curl_setopt($info,CURLOPT_SSL_VERIFYHOST,false);
  10.                 curl_setopt($info,CURLOPT_URL,$url);
  11.                 $output = curl_exec($info);
  12.                 curl_close($info);
  13.                 return $output;
  14.         }
  15.   
复制代码
然后我调用这个方法出错了,请求不了 返回全是 null  ;这不是很操蛋嘛;

后来我直接使用
file_get_contents
  1. $panJson = file_get_contents($url);
复制代码
是这个意思  ,这个是 php 自带的请求 函数 ,是请求文件的也可以发送get 请求:
但是 又失败了,失败的原因是这样的:
http://tm.0518360.com/api/shangbiao/searchbyagency?name=我的&id=0&pageindex=0&pagesize=20
我的这个url 里有中文,中文导致报错;
也不知从哪个犄角旮旯 我找到个函数:
  1. urlencode()
复制代码
就是把中文转换为16 进制;

结果 出炉的样子 :

  1.     /**
  2.      * type 搜索地址
  3.      * name  关键字[]
  4.      * pageindex  页码- 第一页的 数值为 0
  5.      * pagesize    每页条数
  6.      * 去潘明星的接口 拿回商标检索数据
  7.     */
  8.     public function topan()
  9.     {
  10.         $type = input('type');
  11.         $name = urlencode(input('name'));
  12.         $pageindex = input('pageindex');
  13.         $pagesize = input('pagesize');

  14.         // 拼凑链接
  15.         $url = 'http://tm.0518360.com/api/shangbiao/'.$type.'?name='.$name.'&id=0&pageindex='.$pageindex.'&pagesize='.$pagesize;

  16.         // 防止 中文 路径导致报错 提前进行编码 下面这个 居然报错
  17.         // $path=iconv('utf-8', 'gbk', $url);
  18.         
  19.         // 发送链接
  20.         $panJson = file_get_contents($url);


  21.                 $res = json_decode($panJson,true);


  22.         exit( json_encode($res, JSON_UNESCAPED_UNICODE) );  


  23.     }
复制代码












回复

使用道具 举报

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

本版积分规则

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