PHP CURL 笔记

    xiaoxiao2025-12-06  3

    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, '');设置不使用代理。另外一种是修改环境变量。 经查明,机器确实配置了环境变量,我将环境变量删除之后,重启了机器,终于得到了正常的运行结果。

    转载请注明原文地址: https://ju.6miu.com/read-1304670.html
    最新回复(0)