首页 > 编程语言 >php通过curl获取数据

php通过curl获取数据

时间:2023-09-21 11:12:26浏览次数:41  
标签:ch setopt dataArr 获取数据 curl php array CURLOPT

<?php
header("Content-Type:text/html;charset=UTF-8");

$url = 'https://www.baidu.com';
print_r(curlContent($url));

function curlContent($url, $method = 'get', $dataArr = array(), $headerArr = array())
{
$method = strtolower($method);
$ch = curl_init();
if ('get' == $method)
{
if (is_array($dataArr) && !empty($dataArr))
{
$url .= '?' . http_build_query($dataArr);
}
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//HTTPS
if (stripos($url, "https://") !== FALSE)
{
//规避SSL验证
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//跳过HOST验证
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
}
//POST方式
if ('post' == $method)
{
curl_setopt($ch, CURLOPT_POST, true);
if (is_array($dataArr) && !empty($dataArr))
{
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($dataArr));
}
}
if (is_array($headerArr) && !empty($headerArr))
{
curl_setopt($ch, CURLOPT_HTTPHEADER, $headerArr);
}
$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return array(
'code' => $statusCode,
'response' => $response,
);
}

标签:ch,setopt,dataArr,获取数据,curl,php,array,CURLOPT
From: https://www.cnblogs.com/WebLinuxStudy/p/17719431.html

相关文章

  • PHP多层级菜单树形结构递归处理
    如题:一、数据库菜单数据表使用图片中id和parent_id两个参数来关联父子关系二、将数据库中的数据变成树状多层级解构```{ "id":1, "parentId":0, "treePath":"0", "name":"系统管理", "type":2, "path":"/system",......
  • 【漏洞复现】深信服 SG上网优化管理系统 catjs.php 任意文件读取漏洞
    1、简介2、漏洞描述深信服SG上网优化管理系统catjs.php存在任意文件读取漏洞,攻击者通过漏洞可以获取服务器上的敏感文件3、受影响版本深信服SG上网优化管理系统4、FOFA语句title==“SANGFOR上网优化管理”5、漏洞复现POCPOST/php/catjs.phpHTTP/1.1Host:User-A......
  • php实现大文件断点续传下载实例
    php实现大文件断点续传下载实例,看完你就知道超过100M以上的大文件如何断点传输了,这个功能还是比较经典实用的,毕竟大文件上传功能经常用得到。1require_once('download.class.php');2date_default_timezone_set('Asia/Shanghai');3error_reporting(E_STRICT);4......
  • phpstudy无法启动mysql(启动之后立马关闭)
    好久没有打开本地环境,直到昨天打开phpstudy,正常启动,但是在任务管理器中发现没有mysql服务于是在mysql的bin目录下执行.\mysqld.exe--install  mysql服务是有了,但这个问题就来了重启phpstudy无法启动mysql注意:在此之前注意备份mysql数据,查看现在设置的mysql密码,以便本地项......
  • yourls安装-报错AbstractExtendedPdo.php
    1`Fatalerror:UncaughtPDOException:SQLSTATE[HY000]:Generalerror:3Errorwritingfile'./example_com/yourls_url.frm'(Errcode:28)in/www/wwwroot/example.com/includes/vendor/aura/sql/src/AbstractExtendedPdo.php:565Stacktrace:#0/www/w......
  • PHP如何上传超大文件
    前言最近在开发一个视频播放网站,用的是PHP技术。视频播放网站用户上传的都是视频资料,小的有几十M,大的都超过G了,对于这种超大文件的上传,我们不能用常规的上传方式,必须对大文件进行分块上传,否则一方面会造成服务器内存爆满,另一方如果上传的文件太大也很容造成上传超时的情况发生。......
  • 整理php防注入和XSS攻击通用过滤
    对网站发动XSS攻击的方式有很多种,仅仅使用php的一些内置过滤函数是对付不了的,即使你将filter_var,mysql_real_escape_string,htmlentities,htmlspecialchars,strip_tags这些函数都使用上了也不一定能保证绝对的安全。那么如何预防XSS注入?主要还是需要在用户数据过滤方面得考虑......
  • SQL语句获取数据库中的表主键,自增列,所有列
    获取表主键1:SELECTTABLE_NAME,COLUMN_NAMEFROMINFORMATION_SCHEMA.KEY_COLUMN_USAGEWHERETABLE_NAME<>'dtproperties'2:EXECsp_pkeys@table_name='表名'3:selecto.nameas表名,c.nameas字段名,k.colidas字段序号,k.keynoas索引顺序,t.nam......
  • thinkphp上传文件失败的一次记录
    问题出现有用户反映上传图片报网络错误,问题转到开发之后怀疑可能是用户上传的图片比较大导致的错误,后面测试发现在上传8m左右大小的图片的时候就会报错,但是报的错误不是代码里面图片大小验证规则的错误,而是异常捕获的错误,让我很纳闷后来决定先让前端在页面提......
  • PHP面试题2
    1.$a='b';$b='$a';$c="$b";$d="$$a";$e=$$a;echo$c.PHP_EOL;//$aecho$d.PHP_EOL;//$becho$e.PHP_EOL;//$aif($a==0){echo0;}else{echo1;}//02.浏览器输入url后发生了什么?1.DNS对域名进行解析;2.建立TCP连接(......