PHP中使用cURL实现Get和Post请求的方法

发布时间:2016-02-29 浏览次数:6134 文章来源:个人博客

在php开发过程中需要对外请求调用某些接口,使用curl能够与外部接口使用各种类型的协议进行连接和通讯。


与对方服务器建立一个会话的过程如下:


①初始化


    $ch = curl_init();      //初始化一个会话


②设置对方地址(URL)


    $url = "http://www.xx.com"; 

    curl_setopt($ch, CURLOPT_URL, $url); //curl_setopt()  设置一个cURL传输选项 , CURLOPT_URL表示需要获取的URL地址


③提交方式 get?post?put?


     curl_setopt($ch, CURLOPT_POST, 1);//post表单


    或者


    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

  


    //接下来是提交数据

    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);


④启用时会将头文件的信息作为数据流输出。


    curl_setopt($ch, CURLOPT_HEADER, 0);


⑤是直接输出还是以文件流的形式返回


CURLOPT_RETURNTRANSFERcurl_exec()获取的信息以文件流的形式返回,而不是直接输出。            

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    补充说明:curl_setopt()中的第二个参数有很多可选参数,不同参数有不同作用。


 ⑥执行


    直接输出:curl_exec($ch);


    文件流:$result = curl_exec($ch);


⑦终止回话


    curl_close($ch);


⑧其他


-----curl模仿手机


    curl_setopt($ch, CURLOPT_USERAGENT, "Dalvik/1.6.0 (Linux; U; Android 4.1.2; DROID RAZR HD Build/9.8.1Q-62_VQW_MR-2)");

    curl_setopt($ch, CURLOPT_REFERER, "-");



------curl伪造ip


    $header = array( 
        'CLIENT-IP:58.68.44.61', 
        'X-FORWARDED-FOR:58.68.44.61', 
    ); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);





key-word
CURL PHP CURL PHP POST请求 PHP GET请求