PHP curl http 请求转发或叫PHP模拟http请求

本文介绍了一种使用 PHP 的 cURL 扩展进行请求转发的方法。通过设置 cURL 参数来实现网页抓取及转发,并详细展示了如何处理 cookie 信息以保持会话状态。适用于需要在服务器间转发请求的场景。
摘要由CSDN通过智能技术生成

具体看代码: 

//请求转发
function requestForword($url){
//     // 初始化一个 cURL 对象
//     $curl = curl_init();
//     // 设置你需要抓取的URL
//     curl_setopt($curl, CURLOPT_URL, $url);//'http://192.168.254.64/ecstore-sign/custom/b2c/view/wap/lixin/index_lixin.php'
//     // 设置header 响应头是否输出
//     curl_setopt($curl, CURLOPT_HEADER, 0);
//     // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
//     // 1如果成功只将结果返回,不自动输出任何内容。如果失败返回FALSE
//     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);
//     // 运行cURL,请求网页
//     $data = curl_exec($curl);
//     // 关闭URL请求
//     curl_close($curl);

    
    $cookie = $_COOKIE;
    $cookie_str = '';
    foreach ($cookie as $key => $val){
        $cookie_str .= $key . '=' . $val . ';';
    }
    
    
//     print_r($cookie_str);
//     exit();
    
    // 初始化一个 cURL 对象
    $ch =curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    
    $header = array();
    //curl_setopt($ch,CURLOPT_POST,true);
    //curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_HEADER,true);
    curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
    //转发cookie
    curl_setopt($ch,CURLOPT_COOKIE,$cookie_str);//'op=Mfpe4630988ejb5zgxev; os=02A419AE08E823C404D3D6B90779CE9A.jvm1; og=grade_id; or=student%2Cstudent; ou=19000009999; opw=123456'
    // 设置header 响应头是否输出
    curl_setopt($ch, CURLOPT_HEADER, 0);
    // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
    // 1如果成功只将结果返回,不自动输出任何内容。如果失败返回FALSE
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);//1表示响应的结果以文件流的方式返回,0表示输出到浏览器端
    $content = curl_exec($ch); 
    // 关闭URL请求
    curl_close($ch);
    
}


$url= '';//要求转发的url
requestForword($url);

备注:注释部分忽略

已测试

 

参考链接:https://blog.csdn.net/debug_zhang/article/details/52179270

                  https://blog.csdn.net/clh604/article/details/38759779

 

 

 

转载于:https://my.oschina.net/qimhkaiyuan/blog/1800898

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值