php curl 跨域访问

博客展示了PHP中CURL会话的相关设置。包含启动CURL会话,设置要访问的地址,对认证证书来源及SSL加密算法的检查,还模拟了用户使用的浏览器,给出了具体代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

$content= ‘Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)’;
c u r l = c u r l i n i t ( curl = curl_init( curl=curlinit(url); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, u r l ) ; / / 要 访 问 的 地 址 c u r l s e t o p t ( url); // 要访问的地址 curl_setopt( url);//访curlsetopt(curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt( c u r l , C U R L O P T S S L V E R I F Y H O S T , 2 ) ; / / 从 证 书 中 检 查 S S L 加 密 算 法 是 否 存 在 c u r l s e t o p t ( curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在 curl_setopt( curl,CURLOPTSSLVERIFYHOST,2);//SSLcurlsetopt(curl, CURLOPT_USERAGENT, c o n t e n t / ∗ content/* content/_SERVER[‘HTTP_USER_AGENT’]*/); // 模拟用户使用的浏览器

    if (ini_get('open_basedir') == '' && ini_get('safe_mode' == 'Off')) {
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
    }
     curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
    curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
   curl_setopt($curl, CURLOPT_POSTFIELDS, $arguments); // Post提交的数据包
    curl_setopt($curl, CURLOPT_TIMEOUT, 200); // 设置超时限制防止死循环
    curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
    $tmpInfo = curl_exec($curl); // 执行操作
    if (curl_errno($curl)) {
        echo 'Errno'.curl_error($curl);//捕抓异常
    }
    curl_close($curl); // 关闭CURL会话
### 关于OLED HAL的驱动信息与使用方法 #### OLED HAL 简介 OLED HAL (Hardware Abstraction Layer) 提供了一种抽象层来简化硬件操作,使得开发者能够更方便地控制OLED显示屏。该通常包含了初始化屏幕、显示字符、图形绘制等功能。 对于STM32微控制器而言,HAL提供了针对不同外设的支持,其中包括IIC接口用于连接0.96英寸OLED屏[^1]。为了实现这一目的,需要配置特定GPIO引脚作为IIC通信线路的一部分;例如,PB12至PB15被指定为GPIO输出以支持其他可能的功能需求[^2]。 #### 移植过程概述 当准备移植现有的OLED底层驱动程序时,应按照如下方式处理: - **复制必要的源文件**:将四个主要的驱动文件放置到项目的根目录下,并确保`oled.c`成为编译目标之一。同时,在主应用程序入口处通过`#include "oled.h"`语句引入相应的头文件定义。 - **解决特殊挑战**:如果遇到像`printf()`这样的函数带有可变数量参数的情况,则需查阅有关C99标准下的va_list机制文档来进行适当调整[^3]。 #### 示例代码展示 下面给出一段简单的示例代码片段,展示了如何利用上述提到的方法完成基本的文字打印任务: ```c #include "stm32f1xx_hal.h" #include "oled.h" int main(void){ /* 初始化系统 */ HAL_Init(); /* 初始化OLED并清屏 */ OLEDDISPLAY_init(); OLEDDISPLAY_clear(); while(1){ char str[] = "Hello, World!"; // 显示字符串 OLEDDISPLAY_showString(str); HAL_Delay(1000); // 延迟一秒 // 清除屏幕以便更新新内容 OLEDDISPLAY_clear(); } } ``` 此段代码实现了每隔一秒钟刷新一次屏幕上所呈现的信息的效果。 #### 获取资源链接 想要获取完整的OLED HAL及其配套资料,可以通过访问提供的GitCode仓地址下载整个项目包,其中不仅有详细的说明文档还有丰富的例子可供参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值