PHP CURL 笔记

CURL

在PHP的世界里面,如果想创建一个HTTP请求,CURL则是其中的一种选择。

请求例子:

    $url = 'www.baidu.com';
    $parameter = array();
    $partnerKey = '765bdc6ead9a1bbd2697e9b04f1b9147';
    $customerHeader = array(
        'CutomerHeader:haha'
    );
    $op = curl_init($url);
    curl_setopt($op, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $customerHeader);
    curl_setopt($op, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($op, CURLOPT_POST, true);
    curl_setopt($op, CURLOPT_POSTFIELDS, $parameter);
    curl_setopt($op, CURLOPT_TIMEOUT, 60);
    $result = curl_exec($op);
    curl_close($op);

这个例子主要是对 www.baidu.com 发起了一次post请求 。返回的结果的是一个HTML,内容为

<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Found</h1></center>
<hr><center>pr-nginx_1-0-284_BRANCH Branch
Time : Mon Aug 15 09:26:31 CST 2016</center>
</body>
</html>

哈,我们不用在意这些细节,主要注意力放在 curl_init(), curl_setopt(), curl_exec(),curl_close()四个基本的函数即可。

特别留意一下curl_setopt里面的参数是一个字符串数组,别写成key value 数组,不然很难发现。

具体的参数可以查看 PHP手册 里面的内容。

当我们出现错误的的时候,可以用curl_errno()来判断有无错误内容,然后再用curl_error() 来获取错误信息咯。

本人遇到了一个奇怪的错误:Could not resolve proxy: XXX,后来上stackoverflow查找答案,终于找到了解释
大概意思是机器配置了默认的http_proxy在环境变量里面。解决方法有两种,一种是直接在PHP代码里面写明curl_setopt($op, CURLOPT_PROXY, '');设置不使用代理。另外一种是修改环境变量。
经查明,机器确实配置了环境变量,我将环境变量删除之后,重启了机器,终于得到了正常的运行结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值