httpclient调用php,PHP中HttpClient的使用

PHP中数据在HTTP中的传输,经常我们会用到一些接口请求,基本Curl的使用,我们会经常用到,你还在不断的用原生写法么,既然使用那么频繁,是不是应该有必要进行封装。

个人从工作中,受益,总结了一个自己习惯使用的rest类,专门用来做数据接口请求,同时也在网络上收藏了一份HttpClient工具类,两个都是非常好用,下载地址如下:https://github.com/Applaction/restTool/tree/master/http

770649f58faaed3254a7be68590a6a09.png

对于RestClient是自己的使用习惯封装的,类的封装代码比较简介清晰,使用例子如下:

$headers = array("Content-Type" => "Application/json");

$url = 'http://www.demo.com';

$result = array(

'account_id' => 2,

'token' => 'b0ff5ccb0c408e4f9e8bcd72bd965457',

'alert_id' => 45

);

$data = json_encode($result);

$rest = new RestClient();

//可以不设置头,据情况而定。如果需要设置头信息,那么就直接定义一个数组就行

$info = $rest->make('post',$url,$data,$headers);

if($info->getStatus() != 200){

echo '失败了';

}

$response = $info->getResponse();

另外一个HttpClient.class.php收藏来自网络

//若是抓取页面的内容

$contents = HttpClient::quickGet('http://www.baidu.com/');

var_dump($contents);

//post请求某一个接口,返回的信息赋值给$res

$res = HttpClient::quickPost('http://example.com/sms.php', array(

'name' => 'kevin.liu',

'phone' => '18201042042'

));

可能有一些请求访问会出问题,则需要加一个userAgent,模拟浏览器进行访问

$client = new HttpClient('example.com');

$client->setDebug(true);

$client->setUserAgent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3a) Gecko/20021207');

if (!$client->get('/')) {

die('An error occurred: '.$client->getError());

}

$contents = $client->getContent();

还有一些情况是:在采集数据的时候必须先登陆,则可以先模拟登陆

$client = new HttpClient('example.com');

$client->post('/login.php', array( //登陆地址

'username' => 'kevin',

'password' => '123456'

));

if (!$client->get('/demo.php')) { //采集数据的目标地址

die('An error occurred: '.$client->getError());

}

$pageContents = $client->getContent();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值