推荐PHP一个用CURL访问URL的函数

其实,php访问url的方式有好几种,这里只介绍其中一种curl方式,觉得有用的就收藏。

/**

* curl发送HTTP请求方法

* @param $url

* @param string $method

* @param array $params

* @param array $header

* @param int $timeout

* @param bool|false $multi

* @return mixed

* @throws Exception

*/

static public function curlHttp( $url, $method = 'GET', $params = array(), $header = array(),

$timeout = 30, $multi = false ) {

$curl = curl_init();

curl_setopt( $curl, CURLOPT_TIMEOUT, $timeout );

curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );

curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, false );

curl_setopt( $curl, CURLOPT_SSL_VERIFYHOST, false );

curl_setopt( $curl, CURLOPT_HTTPHEADER, $header );

switch ( strtoupper( $method ) ) {

case 'GET':

if ( !empty( $params ) ) {

$uri = parse_url( $url );

$url .= ( empty( $uri[ 'query' ] ) ? '?' : '&' ) . http_build_query( $params );

}

curl_setopt( $curl, CURLOPT_URL, $url );

break;

case 'POST':

curl_setopt( $curl, CURLOPT_URL, $url );

curl_setopt( $curl, CURLOPT_POST, true );

$params = $multi ? $params : http_build_query( $params ); //判断是否传输文件

curl_setopt( $curl, CURLOPT_POSTFIELDS, $params );

break;

default:

throw new Exception( '不支持的请求方式!' );

}

$response = curl_exec( $curl );

$error = curl_error( $curl );

curl_close( $curl );

if ( $error ) {

throw new Exception( '请求发生错误:' . $error );

}

return $response;

}

php 访问url curl,推荐PHP一个用CURL访问URL的函数相关推荐

  1. jar 工程我怎么在网页上url访问某一个方法_url及url参数与seo网站优化的关系

    短视频,自媒体,达人种草一站服务 首先我还是援引下百度百科关于url的定义. 统一资源定位符(Uniform Resource Locator,缩写为URL)是对可以从互联网上得到的资源的位置和访问方 ...

  2. url 保持不变php,thinkphp3.2.3如何只改变地址url中的某一个分隔符,其它保持不变...

    今天教大家一个关于使用thinkphp3.2.3改变只改变地址url中的某一个分隔符的方法,首先大家来看看这个地址! 它的原始地址应该是/Home/Index/index/page/2.html,那我 ...

  3. curl php 模拟来源_php 使用curl模拟ip和来源进行访问的实现方法

    对于限制了ip和来源的网站,使用正常的访问方式是无法访问的.本文将介绍一种方法,使用php的curl类实现模拟ip和来源,访问那些限制了ip和来源的网站. 1.设置页面限制ip和来源访问 server ...

  4. php模拟苹果手机访问,php 使用curl模拟ip和来源进行访问的实现方法

    对于限制了ip和来源的网站,使用正常的访问方式是无法访问的.本文将介绍一种方法,使用php的curl类实现模拟ip和来源,访问那些限制了ip和来源的网站. 1.设置页面限制ip和来源访问 server ...

  5. SEO 技巧,如何设计一个高质量的 URL 和标题

    在过去的几年里,搜索引擎的影响力发生了一些变化--其影响力的趋势是逐渐变弱.应用程序已经变成了流量的一个大入口,当然搜索引擎也还是一个大的入口.搜索引擎优化看上去并没有那么重要,企业靠活动.运营来挖掘 ...

  6. php 循环curl,php中使用foreach curl多个URL及多线程请求多个URL

    在利用foreach语句循环图片URL,并通过CURL将所有图片进行本地保存的函数时 ,出现了只能采集到一个的问题.现将foreach和CURL结合进行多URL请求的方法进行下总如. 方法1:循环请求 ...

  7. 一个页面从输入URL到加载显示完成,发生了什么?

    面试经典题--URL加载 一.涉及基本知识点: 1. 计算机网络 五层因特尔协议栈: 应用层(dns.http):DNS解析成IP并完成http请求发送: 传输层(tcp.udp):三次握手四次挥手模 ...

  8. 用PHP的CURL写的一个采集Discuz的例子

    以前写ASP的时候,要实现采集功能,那简直就是一个浩浩荡荡的大工程,现在用PHP简单多了,轻轻松松简简单单就能把ASP长篇大论才能实现的功能搞定. 这是我用PHP的CURL写的一个采集Discuz的例 ...

  9. javascript 微信企业号APP应用URL转换成PC端可正常访问的URL

    时间过得飞快,准备写些东西的时候才发现自己快一年半没有写blog了,写这些东西只是为了记录下来自己走过的坑,为下次遇见同类的问题能够迅速解决,毕竟人脑有限,存储下来以备不时之需. 一:背景(功能需求) ...

最新文章

  1. 为了拿捏 Redis 数据结构,我画了 40 张图
  2. KEIL5.11安装小结
  3. Leet Code OJ 简单(二)
  4. FPS游戏自动枪械识别+压枪(以PUBG为例)
  5. EXCEL实战技巧与数据分析(二)数据透视表
  6. java文件上传下载接口_java 文件上传下载
  7. php ccbsign.rsasig,Maven整合SSM和建行龙支付
  8. X64dbg-插件开发-字符编码-常用插件函数-回调结构
  9. 普罗米修斯-Grafana 面板
  10. 为什么在AndroidManifest.xml中Activity的theme用不了Theme.Light.NoTitleBar?
  11. VUE+ElementUI的表单el-from表单验证二选一必填项,并且满足条件后会清除表单验证提示。
  12. 《炒股的智慧》文摘1
  13. 如何刷recovery
  14. P5490 【模板】扫描线
  15. 报告显示:2023年,电信区块链业产值将达10亿美元
  16. Github 开源:升讯威 Winform 开源控件库( Sheng.Winform.Controls)
  17. subzm在c语言中的作用,数学和编程到底是什么关系?
  18. PHP大道至简之农历换算
  19. 另类北漂生活-致敬那些不向困难低头的人
  20. 【企业架构设计实战】企业架构方法论

热门文章

  1. 某些安卓手机在Mac系统下无法通过数据线连接ADB(安卓手机USB双模式)解决方案...
  2. [转载] 杜拉拉升职记——53 自由自在地活
  3. 系统下装软件_DCS系统的日常保养工作怎么做
  4. python计算密集型任务_Python多进程和多线程测试比高低,只为证明谁是最快的“仔”
  5. linux编译l和l区别,linux 下 g++编译程序时-I(大写i) 与-L(大写l)-l(小写l) 的作用详解...
  6. 红亚科技联手董付国老师开启Python实训教育新篇章
  7. 几行Python代码生成饭店营业额模拟数据并保存为CSV文件
  8. 数据结构 二叉搜索树BST的实现与应用
  9. Linux 10分钟掌握Linux常用开发工具及编译的四个过程
  10. SIFT算法详解(二)