|
1. 话说我为啥报错呢?
原因:
- public function curl_get($url)
- {
- $info = curl_init();
- curl_setopt($info,CURLOPT_RETURNTRANSFER,true);
- curl_setopt($info,CURLOPT_HEADER,0);
- curl_setopt($info,CURLOPT_NOBODY,0);
- curl_setopt($info,CURLOPT_SSL_VERIFYPEER,false);
- curl_setopt($info,CURLOPT_SSL_VERIFYPEER,false);
- curl_setopt($info,CURLOPT_SSL_VERIFYHOST,false);
- curl_setopt($info,CURLOPT_URL,$url);
- $output = curl_exec($info);
- curl_close($info);
- return $output;
- }
-
复制代码 然后我调用这个方法出错了,请求不了 返回全是 null ;这不是很操蛋嘛;
后来我直接使用
file_get_contents
- $panJson = file_get_contents($url);
复制代码 是这个意思 ,这个是 php 自带的请求 函数 ,是请求文件的也可以发送get 请求:
但是 又失败了,失败的原因是这样的:
http://tm.0518360.com/api/shangbiao/searchbyagency?name=我的&id=0&pageindex=0&pagesize=20
我的这个url 里有中文,中文导致报错;
也不知从哪个犄角旮旯 我找到个函数:
就是把中文转换为16 进制;
结果 出炉的样子 :
-
- /**
- * type 搜索地址
- * name 关键字[]
- * pageindex 页码- 第一页的 数值为 0
- * pagesize 每页条数
- * 去潘明星的接口 拿回商标检索数据
- */
- public function topan()
- {
- $type = input('type');
- $name = urlencode(input('name'));
- $pageindex = input('pageindex');
- $pagesize = input('pagesize');
- // 拼凑链接
- $url = 'http://tm.0518360.com/api/shangbiao/'.$type.'?name='.$name.'&id=0&pageindex='.$pageindex.'&pagesize='.$pagesize;
- // 防止 中文 路径导致报错 提前进行编码 下面这个 居然报错
- // $path=iconv('utf-8', 'gbk', $url);
-
- // 发送链接
- $panJson = file_get_contents($url);
-
- $res = json_decode($panJson,true);
- exit( json_encode($res, JSON_UNESCAPED_UNICODE) );
- }
复制代码
|
|