最新消息:欢迎加入小松的QQ群一起讨论一起学习,搜索页面修改成lua+ElasticSearch,使用php这个页面速度相对慢一点,优化之后速度杠杠的,如有问题请加群联系我

php HttpClient使用

PHP 2022浏览 0评论

在实际的开发过程过少不了要系统和系统之间数据交互,或者采集数据,这时候我们一般会用curl来处理,或者用socket通讯,这里推荐一个类非常好用的类HttpClient

这个地址上可以下载http://scripts.incutio.com/httpclient/
讲一下怎么使用HttpClient
最简单地时候方法

$pageContents = HttpClient::quickGet('http://www.phpsong.com/');

这样就把www.phpsong.com 这个页面的代码就抓取过,一般用来作采集

上面是用get得方式抓取页面,下面这个方法就是post提交name和email这个参数到http://example.com/someForm这个页面,返回的赋给$pageContents

$pageContents = HttpClient::quickPost('http://example.com/someForm', array(
'name' => 'Some Name',
'email' => 'email@example.com'
));

采集的时候可能会遇到不让采集的情况,你可以试试,下面的代码

$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());
}
$pageContents = $client->getContent();

其实就是加了一个agent,你可以在网上找一下,模拟百度蜘蛛,这样网站一般不会屏蔽

还有一种情况,就是采集论坛数据,这时候会要求先登录,在采集,可以参考以下代码

$client = new HttpClient('example.com');
$client->post('/login.php', array(
'username' => 'Simon',
'password' => 'ducks'
));
if (!$client->get('/private.php')) {
die('An error occurred: '.$client->getError());
}
$pageContents = $client->getContent();
QQ交流群:136351212(满) 455721967

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:小松博客» php HttpClient使用
本文链接地址:https://www.phpsong.com/305.html

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
木有头像就木有JJ!点这里按步骤申请Gravatar头像吧!