curl静态编译
可以参考以下几种方法:
方法一:file_get_contents获取
spanstyle="white-space:pre"?/span$url="";
spanstyle="white-space:pre"?/span$fh=file_get_contents
('');spanstyle="white-space:pre"?/spanecho$fh;
方法二:使用fopen获取网页源代码
spanstyle="white-space:pre"?/span$url="";
spanstyle="white-space:pre"?/span$handle=fopen($url,"rb");
spanstyle="white-space:pre"?/span$contents="";
spanstyle="white-space:pre"?/spanwhile(!feof($handle)){
spanstyle="white-space:pre"??/span$contents.=fread($handle,8192);
spanstyle="white-space:pre"?/span}
spanstyle="white-space:pre"?/spanfclose($handle);
spanstyle="white-space:pre"?/spanecho$contents;//输出获取到得内容。
方法三:使用CURL获取网页源代码
$url="";
$UserAgent='Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.0;SLCC1;.NETCLR2.0.50727;.NETCLR3.0.04506;.NETCLR3.5.21022;.NETCLR1.0.3705;.NETCLR1.1.4322)'
$curl=curl_init();?//创建一个新的CURL资源
curl_setopt($curl,CURLOPT_URL,$url);?//设置URL和相应的选项
curl_setopt($curl,CURLOPT_HEADER,0);?//0表示不输出Header,1表示输出
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);?//设定是否显示头信息,1显示,0不显示。//如果成功只将结果返回,不自动输出任何内容。如果失败返回FALSE
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($curl,CURLOPT_ENCODING,'');?//设置编码格式,为空表示支持所有格式的编码
//header中“Accept-Encoding:”部分的内容,支持的编码格式为:"identity","deflate","gzip"。
curl_setopt($curl,CURLOPT_USERAGENT,$UserAgent);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
//设置这个选项为一个非零值(象“Location:“)的头,服务器会把它当做HTTP头的一部分发送(注意这是递归的,PHP将发送形如“Location:“的头)。
$data=curl_exec($curl);
echo$data;
//echocurl_errno($curl);//返回0时表示程序执行成功
curl_close($curl);?//关闭cURL资源,并释放系统资源
拓展资料
PHP(外文名:PHP:HypertextPreprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
❷ 编译curl库linux环境下挑战curllinux编译
cURL是一个开放源码、轻量级的网络协议,它既可以让你发送HTTP请求,又可以接收它们,它能够支持大量其他协议(包括FTP、TFTP、SMTP等)。编译Curl库是一个挑战,尤其是在Linux环境下。
为了编译cURL,首先我们需要将其加载到计算机上。下载最新版本的压缩源代码,直接从官网下载,或者从GitHub/ BitBucket库中下载,.tar.gz 和.zip 格式是常用的压缩文件。
接下来,需要解压源码,通过终端进入下载的目录,然后用 tar -xvzf curl-*cmd 或 unzip curl-*cmd 命令来解压源码。接着,进行源代码的配置,在源代码根目录下使用 ./configure&&make命令来配置和编译,make install 命令安装cURL库。
接着,我们需要添加cURL库的头文件路径到系统环境变量,通过 vi c_profile/etc/profile 编辑/etc/profile 添加对应的路径,这样,系统就可以识别头文件和静态库。
最后,我们可以通过 include<sys/curl.h>来引入cURL库。运行程序,检查是否安装成功,如果正常,即可以使用cURL进行开发了。
编译curl库是一个挑战,Linux环境中要求一点技术细节,除了需要下载源码外,还需要解压、添加头文件路径和检查安装是否完成等。通过上述步骤,在Linux操作系统下编译cURL库也不再难上加难。
❸ 如何搭建自己的私有云
第一步:预装软件。
ownCloud 内核是用PHP5写的,支持sqlite、MySQL、Oracle以及PostgreSQL等数据库。为了简单,我们将用MySQL数据库。在你的Linux系统下你需要安装以下软件:
PHP 安装包:php5, php5-gd, php-xml- parser,php5-intl
数据库驱动:php5-mysql(如果你使用其他数据库,需要安装相应的数据库以及驱动)
Curl 安装包:curl, libcurl3, php5-curl
SMB 客户端:smbclient (这个用来挂载windows共享文件夹的)
Web 服务器:apache2
如果你的Linux是基于Debian的,你可以运行下面的命令一键安装所有的软件:
$ sudo apt-get install apache2 php5 php5-gd php-xml-parser php5-intl php5-sqlite php5-mysql smbclient curl libcurl3 php5-curl mysql-server
第二步:安装ownCloud——设置web 根目录。
从http://owncloud.org/releases/ 网站上下载最新版的ownCloud,对于本教程,我们使用owncloud-4.5.6 版本。到此,我们需要设置web服务器的根目录,对于基于Debian发行版的Linux系统,根目录为/var/www,将ownCloud安装包解压到此目录下。如下命令:
$ tar xjf owncloud-4.5.6.tar.bz2
$ cp -r -v owncloud/ /var/www/guohlcloud/
在我们的例子中,以guohlcloud作为安装的根目录。
OwnCloud在安装的过程中需要对一些目录有写的权限,为此,web服务器用户(www-data对于基于Debian的系统)必须要拥有apps、data、config目录的权限。运行以下命令完成:
$ cd /var/www/ludcloud
#这个文件夹不存在,但在安装过程中需要,应该先建立。
$ sudo mkdir data/
$ sudo chown -R www-data:www-data data
$ sudo chown -R www-data:www-data config
$ sudo chown -R www-data:www-data apps
第三步:安装ownCloud——配置web服务器。
这一步我们要为 ownCloud配置Apache服务器,OwnCloud需要启用 Apache上 .htaccess 文件,.htaccess文件(或者"分布式配置文件")提供了针对目录改变配置的方法。为了启用web服务器上的.htaccess,可以通过 Apache配置文件(基于Den系统是/etc/apache2/sites-enabled/000-default)的 AllowOverride指令来设置。
<Directory/var/www/>
Options Indexes
FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
下一步我们需要启动Apache的mod_rewrite模块,mod_rewrite模块提供了实时地将访问者请求的静态URL地址映射为动态查询字符串的一种规则。运行下面的命令来启动这个模块:
$ sudo a2enmod rewrite
$ sudo a2enmod headers
一旦你使能了这个必要的模块,你可以重启apache服务来使之生效:
$ sudo service apache2 restart
第四步:安装OwnCloud——安装运行。
在浏览器中打开 http://localhost/ludcloud ,你会被引导进入ownCloud的安装界面。
首先你要建立一个管理员帐号,输入必填的用户名和密码就完成了。为了配置数据库,点“Advanced” 选择MySQL,然后输入MySQL的数据库名、用户名和密码。
点“Finish” 完成安装过程。
下图为我安装完成登录的主界面(红色框为设置项):
第五步:使用桌面同步客户端同步文件。
你可以使用桌面同步客户端同步不同电脑、设备上的文件,适用于Linux、OS X 和 Windows系统。跟ownCloud一样,桌面同步客户端也是开源的。
例如Ubuntu下,你可以通过apt-get安装:
$ sudo apt-get install owncloud-client
对于其他的发行版(Den,CentOS,Fedora,openSuse 等),你可以通过这个URL下载ownCloud的桌面同步客户端:http://software.opensuse.org/download/package?project=isv:ownCloud:devel&package=owncloud-client 。
从http://owncloud.org/sync-clients/ 可以下载Windows 和 OS X 同步客户端。
桌面同步客户端可以连续同步、选择文件夹同步、多文件夹同步。多文件夹同步是你可以同步对多个文件夹位置进行同步到多个ownCloud文件夹下,这是大多主流云服务提供商做不到的。
下图为Windows下桌面同步客户端,它可以添加多个位置进行同步到ownCloud不同文件夹下。
第六步:使用移动同步客户端同步文件。
ownCloud 文件同步不仅仅局限于桌面端,你也可以使用ownCloud的移动同步客户端同步你的文件,ownCloud 移动应用适用于Andorid、iOS(iPhone/iPod touch/iPad)平台。Andorid版的应用允许你从任何Android应用上传文件,以及提供自动同步文件功能。
你可以从Google Play商店(https://play.google.com/store/apps/details?id=com.owncloud.android)或者Amazon 应用商店(www.amazon.com/ownCloud-Inc/dp/B00944PQMK/ref=sr_1_1?ie=UTF8&qid=1352459188&sr=8-1&keywords=owncloud)付费下载。如果你不愿意付费,也可以自己编译源代码(https://github.com/owncloud/android)或者下载预制的APK文件(http://alefzero.eu/a/master )。
对于iOS版应用不是开源的,只能成Apple 应用商店获得https://itunes.apple.com/us/app/owncloud/id543672169?mt=8 。
我从github clone 一个最新的源代码,经过编译之后安装在我的Android上,下图为软件运行时截图。
❹ 怎样添加curl/curl.h
解决办法:
1、项目---属性---配置属性---VC++目录,
在包含目录中,添加头文件所在路径。(这里的头文件所在路劲是"curl“目录的相对或绝对路径)
2、然后再使用#include "curl/curl.h"即可
❺ 如何从android源码中编译webkit
android本来自带了webkit浏览器,但是要对其进行custom就需要android源代码才行, 但是在没有源码的情况下,那么就需要用到ndk了,比如,我是在xoom上做custom webkit的。
1、虽然ndk提供的库很少,而且没有skia,但是好在有bitmap,这样显示慢了点,没有硬加速,但不是不可能。
2、webkit需要的第三方库,freetype,png,jpeg,sqlite3等虽然android源码中有,但是ndk没有开放,因此所有的第三方库,freetype,png,jpeg,sqlite3,cairo,curl,fontconfig,pixman,iconv等都需要用ndk cross-compile成静态库,然后链接到最终的动态库中。
3、选择iconv是icu太大,而且没有多语言的需求,选择cairo+pixman是skia的移植性不好,而且cairo支持很多种backend。
4、编译第三方库需要用到autoconfig,ndk中有如何生成交叉编译链的文档,然后在configure时使用这个工具链就可以了,但是android用到的是bionic库,因此会有很少的地方需要修改,有些库也不能生成test程序,但是静态库是没问题的。
5、利用ndk生成的交叉工具链,在加上webkit自带的cmake编译系统,生成webkit的动态库是没有问题的,当然是webkit的内核,而且有些平台相关的部分代码需要修改。
6、但是只要是以linux平台为基础,修改还是很容易的,我移植的webkit是先移植到linux平台上,然后移植到android平台上的,所以修改相对少了很多,但是修改大多都在WebCore/platform下,在选择了的平台相关库后,做相应的配置和修改。
7、其次是在WebKit目录,这个主要是支持和使用WebCore,因此在需求不是整个浏览器,而只是正常地显示网页时,还是可以写的比较简单的。
❻ 推荐 20 个堪称神器的命令行工具
优质文章,第一时间送达!
1.ag:比 grep、ack 更快的递归搜索文件内容。
2.tig:字符模式下交互查看 git 项目,可以替代 git 命令。
3.mycli:mysql 客户端,支持语法高亮和命令补全,效果类似 ipython,可以替代 mysql 命令。
4.jq: json 文件处理以及格式化显示,支持高亮,可以替换 python -m json.tool。
5.shellcheck:shell 脚本静态检查工具,能够识别语法错误以及不规范的写法。
6.yapf:Google 开发的 python 代码格式规范化工具,支持 pep8 以及 Google 代码风格。
7.mosh:基于 UDP 的终端连接,可以替代 ssh,连接更稳定,即使 IP 变了,也能自动重连。
8.fzf:命令行下模糊搜索工具,能够交互式智能搜索并选取文件或者内容,配合终端 ctrl-r 历史 命令搜索简直完美。
9.PathPicker(fpp):在命令行输出中自动识别目录和文件,支持交互式,配合 git 非常有用。
运行以下命令:
10.htop: 提供更美观、更方便的进程监控工具,替代 top 命令。
11.axel:多线程下载工具,下载文件时可以替代 curl、wget。
12.sz/rz:交互式文件传输,在多重跳板机下传输文件非常好用,不用一级一级传输。
13.cloc:代码统计工具,能够统计代码的空行数、注释行、编程语言。
14.ccache:高速 C/C++编译缓存工具,反复编译内核非常有用。使用起来也非常方便:
改成:
15.tmux:终端复用工具,替代 screen、nohup。
16.neovim: 替代 vim。
17.script/scriptreplay: 终端会话录制。
回放:
18.you-get: 非常强大的媒体下载工具,支持 youtube、google+、优酷、芒果 TV、腾讯视频、秒拍等视频下载。
还有 mac 专有的 pb/pbpaste:
把命令行输出拷贝到系统粘贴板:
把系统粘贴板内容拷到终端:
mac 下的 say 命令支持多种语言(英语、普通话、粤语)文本朗读,支持各种销魂恐怖的语气。跑这个命令感受下,小心被吓着了:
19.thefuck:用途是每次命令行打错了以后,打一句 fuck 就会自动更正命令。比如 apt-get 打成了 aptget。fuck 以后自动变成 apt-get。但还是没加 sudo。再 fuck,成功!
又比如 git branch 打成了 git brnch。fuck!更正成 git branch。
又比如 python 打成了 puthon。fuck!一秒变 python。
而且关键是每次打命令和内心 os 完全一致,有种人机合一的快感。fuck!
20.tldr: 如果你经常不想详读 man 文档,那么你应该试试这个小工具。
使用 $ man tar 时
使用 $ tldr tar 时