这篇文章主要介绍了php之curl实现http与https请求的方法,分别讲述了PHP访问http网页与访问https网页的实例,以及相关的注意事项,需要的朋友可以参考下
本文实例讲述了php之curl实现http与https请求的方法,分享给大家供大家参考。具体如下:
通常来说,php的curl函数组可以帮助我们把机器伪装成人的行为来抓取网站,下面来分享两个例子,一个是访问http网页,一个访问https网页,一起来看一下。
每次要使用curl的时候,总要查一堆资料。
现在将常用的几句保存下来,省的每次都去谷歌。
常规curl请求:
$url = ‘http://www.jb51.net’;
c
u
r
l
=
c
u
r
l
i
n
i
t
(
)
;
c
u
r
l
s
e
t
o
p
t
(
curl = curl_init(); curl_setopt(
curl=curlinit();curlsetopt(curl, CURLOPT_URL,
u
r
l
)
;
c
u
r
l
s
e
t
o
p
t
(
url); curl_setopt(
url);curlsetopt(curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
d
a
t
a
=
c
u
r
l
e
x
e
c
(
data = curl_exec(
data=curlexec(curl);
curl_close(
c
u
r
l
)
;
v
a
r
d
u
m
p
(
curl); var_dump(
curl);vardump(data);
使用curl请求HTTPS:
$url = ‘https://www.jb51.net’;
c
u
r
l
=
c
u
r
l
i
n
i
t
(
)
;
c
u
r
l
s
e
t
o
p
t
(
curl = curl_init(); curl_setopt(
curl=curlinit();curlsetopt(curl, CURLOPT_URL,
u
r
l
)
;
c
u
r
l
s
e
t
o
p
t
(
url); curl_setopt(
url);curlsetopt(curl, CURLOPT_HEADER, 1);
curl_setopt(
c
u
r
l
,
C
U
R
L
O
P
T
R
E
T
U
R
N
T
R
A
N
S
F
E
R
,
1
)
;
c
u
r
l
s
e
t
o
p
t
(
curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt(
curl,CURLOPTRETURNTRANSFER,1);curlsetopt(curl, CURLOPT_SSL_VERIFYPEER, false);//这个是重点。
d
a
t
a
=
c
u
r
l
e
x
e
c
(
data = curl_exec(
data=curlexec(curl);
curl_close(
c
u
r
l
)
;
v
a
r
d
u
m
p
(
curl); var_dump(
curl);vardump(data);
注意
当请求https的数据时,会要求证书,这时候,加上下面这两个参数,规避ssl的证书检查
curl_setopt( c h , C U R L O P T S S L V E R I F Y P E E R , F A L S E ) ; / / h t t p s 请 求 不 验 证 证 书 和 h o s t s c u r l s e t o p t ( ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt( ch,CURLOPTSSLVERIFYPEER,FALSE);//https请求不验证证书和hostscurlsetopt(ch, CURLOPT_SSL_VERIFYHOST, FALSE);