2015-09-16 22:46:56 zpf336 阅读数 2678
  • cURL实战教程

    由King老师精心打造cURL实战课程,由浅入深的讲解了cURL中常见的API,及cURL在实际开发中的应用,实现了模拟登陆、文件上传下载、多线程cURL等。通过cURL可以操作各种网络资源! 山哥出品,必属精品!

    16023 人正在学习 去看看 何山

Linux/Unix 和Window不同,添加cURL扩展需要生成curl.so文件,然后在php.ini文件中配置一下才能正常使用,尤其是在Mac机上,phpinfo()显示curl enabled,可是在代码中依然不能使用curl,就是因为没有生成和配置curl.so文件。

下面介绍一下如何安装配置

第一步:下载cURL文件

cURL的官方下载地址:http://www.curl.haxx.se/download.html

第二步:对下载好的文件进行解压

tar zxvf curl-7.44.0.tar.gz  
注:选择你需要的版本,这里只是个例子,现在的最新版本是7.44.0,我用的是最新的版本

第三步:运行几条命令进行配置

./configure --prefix=/usr/local/curl  

make 

make install 
注:这是三条命令

好,到此为止,安装成功了一半,接下来继续

第四步:进入PHP源码包安装(非安装地址)

因为我用的是Mac机,Mac自带了PHP,我的版本是5.5.20,但是我已经找不到源码包的为止,所以我下载了一个和我Mac自带的PHP版本一致的源码包。如果你本身使用的源码安装的PHP或者你可以找到自己的源码包,不需要重新下载源码包

PHP官方下载地址:http://php.net/downloads.php

cd ~/Download/php-5.5.20/ext/curl
  
/usr/local/php/bin/phpize 或 phpize, 如果phpize不在你的环境变量中,就使用全路径    

./configure --with-php-config=/usr/local/php/bin/php-config --with-curl=/usr/local/curl/  
注:这里是要找到php-config文件,你的机器不一定是这个路径,你可以使用sudo find / -name php-config 找到它的真实路径
我的路径是:/usr/bin/php-config

make 

sudo make install
这几条命令执行完之后会生成curl.so文件到一个目录,你的terminal会显示出来在哪个位置(例如是:xxx),然后你需要把这个文件配置到php.ini 文件中

第五步:配置curl.so到php.ini

打开php.ini文件,找到extension,然后添加一行extension=xxx/curl.so

第六步:重启apache,如果你用的是nginx的话还要重启php-fpm

注:我的机器重启不管用,必须要重启电脑,如果你也有类似的情况建议重启电脑。




2018-04-17 13:58:23 qq_37958578 阅读数 7392
  • cURL实战教程

    由King老师精心打造cURL实战课程,由浅入深的讲解了cURL中常见的API,及cURL在实际开发中的应用,实现了模拟登陆、文件上传下载、多线程cURL等。通过cURL可以操作各种网络资源! 山哥出品,必属精品!

    16023 人正在学习 去看看 何山

什么是curl命令?

curl是利用URL语法在命令行方式下工作的开源文件传输工具。被广泛应用在Unix、多种Linux发行版本中,并且有DOS和win32、win64下的移植版本。

在Windows下使用curl命令:

安装:

1:进入curl官网下载合适的版本,我这里下载的是Windows 64位的curl.


2:解压下载的curl

3:可以给Windows增加curl命令的环境变量,增加CURL_HOME环境变量,给PATH环境变量加上%CURL_HOME%;  



4:打开cmd ,输入 curl --help,显示入下,就代表成功了。



常用curl命令:

-a/--append 上传文件时,附加到目标文件  
 -A/--user-agent <string>  设置用户代理发送给服务器  
 - anyauth   可以使用“任何”身份验证方法  
 -b/--cookie <name=string/file> cookie字符串或文件读取位置  
 - basic 使用HTTP基本验证  
 -B/--use-ascii 使用ASCII /文本传输  
 -c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中  
 -C/--continue-at <offset>  断点续转  
 -d/--data <data>   HTTP POST方式传送数据  
 --data-ascii <data>  以ascii的方式post数据  
 --data-binary <data> 以二进制的方式post数据  
 --negotiate     使用HTTP身份验证  
 --digest        使用数字身份验证  
 --disable-eprt  禁止使用EPRT或LPRT  
 --disable-epsv  禁止使用EPSV  
 -D/--dump-header <file> 把header信息写入到该文件中  
 --egd-file <file> 为随机数据(SSL)设置EGD socket路径  
 --tcp-nodelay   使用TCP_NODELAY选项  
 -e/--referer 来源网址  
 -E/--cert <cert[:passwd]> 客户端证书文件和密码 (SSL)  
 --cert-type <type> 证书文件类型 (DER/PEM/ENG) (SSL)  
 --key <key>     私钥文件名 (SSL)  
 --key-type <type> 私钥文件类型 (DER/PEM/ENG) (SSL)  
 --pass  <pass>  私钥密码 (SSL)  
 --engine <eng>  加密引擎使用 (SSL). "--engine list" for list  
 --cacert <file> CA证书 (SSL)  
 --capath <directory> CA目录 (made using c_rehash) to verify peer against (SSL)  
 --ciphers <list>  SSL密码  
 --compressed    要求返回是压缩的形势 (using deflate or gzip)  
 --connect-timeout <seconds> 设置最大请求时间  
 --create-dirs   建立本地目录的目录层次结构  
 --crlf          上传是把LF转变成CRLF  
 -f/--fail          连接失败时不显示http错误  
 --ftp-create-dirs 如果远程目录不存在,创建远程目录  
 --ftp-method [multicwd/nocwd/singlecwd] 控制CWD的使用  
 --ftp-pasv      使用 PASV/EPSV 代替端口  
 --ftp-skip-pasv-ip 使用PASV的时候,忽略该IP地址  
 --ftp-ssl       尝试用 SSL/TLS 来进行ftp数据传输  
 --ftp-ssl-reqd  要求用 SSL/TLS 来进行ftp数据传输  
 -F/--form <name=content> 模拟http表单提交数据  
 -form-string <name=string> 模拟http表单提交数据  
 -g/--globoff 禁用网址序列和范围使用{}和[]  
 -G/--get 以get的方式来发送数据  
 -h/--help 帮助  
 -H/--header <line>自定义头信息传递给服务器  
 --ignore-content-length  忽略的HTTP头信息的长度  
 -i/--include 输出时包括protocol头信息  
 -I/--head  只显示文档信息  
 从文件中读取-j/--junk-session-cookies忽略会话Cookie  
 - 界面<interface>指定网络接口/地址使用  
 - krb4 <级别>启用与指定的安全级别krb4  
 -j/--junk-session-cookies 读取文件进忽略session cookie  
 --interface <interface> 使用指定网络接口/地址  
 --krb4 <level>  使用指定安全级别的krb4  
 -k/--insecure 允许不使用证书到SSL站点  
 -K/--config  指定的配置文件读取  
 -l/--list-only 列出ftp目录下的文件名称  
 --limit-rate <rate> 设置传输速度  
 --local-port<NUM> 强制使用本地端口号  
 -m/--max-time <seconds> 设置最大传输时间  
 --max-redirs <num> 设置最大读取的目录数  
 --max-filesize <bytes> 设置最大下载的文件总量  
 -M/--manual  显示全手动  
 -n/--netrc 从netrc文件中读取用户名和密码  
 --netrc-optional 使用 .netrc 或者 URL来覆盖-n  
 --ntlm          使用 HTTP NTLM 身份验证  
 -N/--no-buffer 禁用缓冲输出  
 -o/--output 把输出写到该文件中  
 -O/--remote-name 把输出写到该文件中,保留远程文件的文件名  
 -p/--proxytunnel   使用HTTP代理  
 --proxy-anyauth 选择任一代理身份验证方法  
 --proxy-basic   在代理上使用基本身份验证  
 --proxy-digest  在代理上使用数字身份验证  
 --proxy-ntlm    在代理上使用ntlm身份验证  
 -P/--ftp-port <address> 使用端口地址,而不是使用PASV  
 -Q/--quote <cmd>文件传输前,发送命令到服务器  
 -r/--range <range>检索来自HTTP/1.1或FTP服务器字节范围  
 --range-file 读取(SSL)的随机文件  
 -R/--remote-time   在本地生成文件时,保留远程文件时间  
 --retry <num>   传输出现问题时,重试的次数  
 --retry-delay <seconds>  传输出现问题时,设置重试间隔时间  
 --retry-max-time <seconds> 传输出现问题时,设置最大重试时间  
 -s/--silent静音模式。不输出任何东西  
 -S/--show-error   显示错误  
 --socks4 <host[:port]> 用socks4代理给定主机和端口  
 --socks5 <host[:port]> 用socks5代理给定主机和端口  
 --stderr <file>  
 -t/--telnet-option <OPT=val> Telnet选项设置  
 --trace <file>  对指定文件进行debug  
 --trace-ascii <file> Like --跟踪但没有hex输出  
 --trace-time    跟踪/详细输出时,添加时间戳  
 -T/--upload-file <file> 上传文件  
 --url <URL>     Spet URL to work with  
 -u/--user <user[:password]>设置服务器的用户和密码  
 -U/--proxy-user <user[:password]>设置代理用户名和密码  
 -v/--verbose  
 -V/--version 显示版本信息  
 -w/--write-out [format]什么输出完成后  
 -x/--proxy <host[:port]>在给定的端口上使用HTTP代理  
 -X/--request <command>指定什么命令  
 -y/--speed-time 放弃限速所要的时间。默认为30  
 -Y/--speed-limit 停止传输速度的限制,速度时间'秒  
 -z/--time-cond  传送时间设置  
 -0/--http1.0  使用HTTP 1.0  
 -1/--tlsv1  使用TLSv1(SSL)  
 -2/--sslv2 使用SSLv2的(SSL)  
 -3/--sslv3         使用的SSLv3(SSL)  
 --3p-quote      like -Q for the source URL for 3rd party transfer  
 --3p-url        使用url,进行第三方传送  
 --3p-user       使用用户名和密码,进行第三方传送  
 -4/--ipv4   使用IP4  
 -6/--ipv6   使用IP6  
 -#/--progress-bar 用进度条显示当前的传送状态

例子:

curl http://item.taobao.com/item.html?id=1264


获得页面的HTML数据,如图所示。

curl http://item.taobao.com/item.html?id=1264 -i

除了获取页面HTML数据外,还可以查看这次访问的HTTP头的信息,如图所示。

curl http://item.taobao.com/item.html?id=1264 -I

仅获取HTTP头的

curl http://item.taobao.com/item.html?id=1264 -v

获取更详细的信息,可以看到包括解析ip的过程都有。

curl http://item.taobao.com/item.html?id=1264

实际上就是在模拟form表单,该表单使用的是get方法,去掉获取数据同上。

curl -I -m 10 -o /dev/null -s -w %{http_code} www.baidu.com
  • -I 仅测试HTTP头
  • -m 10 最多查询10s
  • -o /dev/null 屏蔽原有输出信息
  • -s silent 模式,不输出任何东西
  • -w %{http_code} 控制额外输出

HTTP返回状态码意义:请查看此处http状态码大全


希望文章对你有所帮助!!!

2014-06-28 16:38:24 zqj6893 阅读数 3054
  • cURL实战教程

    由King老师精心打造cURL实战课程,由浅入深的讲解了cURL中常见的API,及cURL在实际开发中的应用,实现了模拟登陆、文件上传下载、多线程cURL等。通过cURL可以操作各种网络资源! 山哥出品,必属精品!

    16023 人正在学习 去看看 何山
下载 CURL,http://curl.haxx.se/download.html
目前最新版本为curl-7.37.0

一、Unix/Linux上安装 CURL按照如下步骤,
 $ sudo ./configure
 $ sudo make
 $ sudo make test (optional)

 $ sudo make install


你也可以参考 CURL 的官方安装文档,http://curl.haxx.se/docs/install.html


完成依赖库安装后执行 ldconfig(需root用户权限)。



注意:curl默认的安装路径为:/usr/local/
include : /usr/local/include
lib : /usr/local/lib

在API开发中需要指定应用程序链接的 includ 和 lib 文件路径,如下所示:

-I/usr/local/include

-L/usr/local/lib -lcurl



二、CURL 在ARM平台上的移植:


进入curl解压目录,执行以下命令:

$ sudo export PATH=$PATH:/opt/hisi-linux-nptl/arm-hisiv100-linux/target/bin/
$ sudo export ARCH=arm
$ sudo export CROSS_COMPILE=arm-hisiv100nptl-linux-
$ sudo export CC=arm-hisiv100nptl-linux-gcc
$ sudo export CXX=arm-hisiv100nptl-linux-g++

$ sudo ./configure --host=arm-linux --prefix=/home/zqjun/curl_arm
$ sudo make
$ sudo make install

最终生成的arm平台的动态和静态库都在:/home/zqjun/curl_arm 目录下。

编译的时候,链接:

-L/home/zqjun/curl_arm/lib -lcurl







2019-07-24 16:27:02 qq_36850813 阅读数 193
  • cURL实战教程

    由King老师精心打造cURL实战课程,由浅入深的讲解了cURL中常见的API,及cURL在实际开发中的应用,实现了模拟登陆、文件上传下载、多线程cURL等。通过cURL可以操作各种网络资源! 山哥出品,必属精品!

    16023 人正在学习 去看看 何山

curl介绍

curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。

curl是一款著名的字符界面下的下载工具,支持HTTP、HTTPS、FTP、FTPS、DICT、TELNET、LDAP、FILE,和GOPHER。此外还具有cookies支持、断点续传、FTP上传、密码支持、SSL支持和代理支持等特性。curl同时还提供了一套libcurl的库,开发者可以基于这个库开发其他下载工具。

官网地址:https://curl.haxx.se/

官网文档:https://curl.haxx.se/docs/

官网下载地址:https://curl.haxx.se/download.html

curl安装步骤

1.获得安装包,从网上直接下载或者其他途径,这里直接wget

wget https://curl.haxx.se/download/curl-7.54.0.tar.gz

2.解压到当前目录

tar  -zxf  curl-7.54.0.tar.gz

3.进入解压后的目录内

cd curl-7.54.0

4.安装与配置

./configure
make
make test (optional)
make install

然后等待安装完毕就可以了

 

2019-01-25 15:04:24 weixin_41986096 阅读数 128
  • cURL实战教程

    由King老师精心打造cURL实战课程,由浅入深的讲解了cURL中常见的API,及cURL在实际开发中的应用,实现了模拟登陆、文件上传下载、多线程cURL等。通过cURL可以操作各种网络资源! 山哥出品,必属精品!

    16023 人正在学习 去看看 何山

curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。在win10系统中内置了curl工具,我们可以在cmd命令窗口中直接使用curl命令,但是在win7及以下版本的windows系统中没有自带curl工具,需要我们自己手动安装配置,下面就给大家介绍一下在windows环境中如何安装配置curl工具。

 

在这里给大家提供了一个curl在windows环境中64位的安装包,解压以后即可使用,不用安装。

https://curl.haxx.se/windows/

 

下载完成之后解压到需要使用curl命令的目录

可以在windows进行环境变量的配置:

在系统环境变量中添加一个变量CURL_HOME,变量值(curl-7.63.0-win64-mingw.zip解压后得到文件夹的路径):D:\Program Files\curl\curl-7.63.0-win64-mingw\bin

然后在系统变量path中添加值:%CURL_HOME%

 

 

 

完成上面的配置以后,在cmd命令窗口中,输入命令:curl --help,如果出现如图所示内容,则说明curl工具安装成功。

 

 

输入curl www.baidu.com

 

 

 

php中的curl简述

阅读数 294

curl详解

阅读数 203

curl命令详解

阅读数 1232

没有更多推荐了,返回首页