PHP之curl
当我第一次接触curl的时候,看文档,以及网上search各种资料,官方(http://cn2.php.net/manual/en/intro.curl.php)的解释是,这是某大牛写的一个libcurl库,PHP支持该扩展库,允许我们以各种不同的协议(http、https、ftp、telnet、file...)访问各种不同的服务器,支持post、put、ftp或基于表单的文件上传,支持cookie、代理等等。
好像还是似懂非懂,我觉得最简单的解释是,curl是一个工具集,由libcurl扩展库支持,包含一些函数,使用这些函数可以模拟我们来访问某些地址,也就是,我们手动在浏览器地址栏里面输入http://www.baidu.com,来访问百度,curl就可以代替这种手动操作,以程序的形式来实现这一过程,这个操作、过程得到的结果,是浏览器给了我们一个百度搜索的首页。
既然curl是一个工具集,有很多函数可供调用,可以想象成,在地址栏输入URL(可能会带一些参数),当输入完点击回车的时候,相当于调用了某些函数,这些函数在百度某台或某几台服务器上的脚本上写着,函数运行完后会有某种效果,比如返回了值,或者没返回值,或者打印了一些东西,在这里呈现了一个页面给你,而curl能实现的功能,比简单展示一个页面多得多,这些各自不同的功能是通过curl_setopt函数来实现的。比如在接SDK的时候,别人提供的是访问地址形式的API,这时curl就大显身手。
1.get实现
复制代码
$url = 'http://www.somesite.com';
$data = array('username'=>'Peter', 'password'=>12345);
function get($url, $data = array()){
$ch = curl_init(); // 初始化一个curl资源类型变量
/*设置访问的选项*/
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 启用时会将服务器服务器返回的Location: 放在header中递归的返回给服务器
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true ); // 将获得的数据返回而不是直接在页面上输出
curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP ); // 设置访问地址用的协议类型为HTTP
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); // 访问的超时时间限制为15s
$url = url.'?'.http_build_query($data);
curl_setopt($ch, CURLOPT_URL, $url); // 设置即将访问的URL
$result = curl_exec($ch); // 执行本次访问,返回一个结果
// ... // 针对结果的正确与否做一些操作
return $result;
}
// $result = get(%url, $data); // 调用
复制代码
2.post实现
复制代码
function post($url, $data = array()){
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true); // 设置为post传递形式
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // 设置post传递的数据
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置数据以文件流的形式返回
curl_setopt($ch, CURLOPT_USERAGENT, ''); // 将用户代理置空
curl_setopt($ch, CURLOPT_HEADER, false); // 设置不显示头信息
$result = curl_exec($ch);
$info = curl_getinfo($ch); // 获取本次访问资源的相关信息
return $result;
}

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版