亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

使用 PHP Curl 做數據中轉

標簽:
PHP

使用 PHP Curl 做数据中转

流程

  • 收集头部信息

  • 收集请求数据

  • 转换头部信息为 CURL 头部请求格式

  • 使用 Curl 进行转发

收集 HTTP 头信息

function getAllHeaders() {
    $headers = [];    foreach ($_SERVER as $name => $value) {        if (substr($name, 0, 5) == 'HTTP_') {
            $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
        }
    }    return $headers;
}

使用 PHP 封装协议获取输入数据

$content = file_get_contents('php://input')

转换头信息为 Curl 请求格式

$headers = getAllHeaders();
$header_joins = [];foreach ($headers as $k => $v) {    if ($k == 'X-Pingplusplus-Signature' || $k == 'Content-Type')
    array_push($header_joins, $k . ': ' . $v);
}

使用 Curl 进行转发

function post($url, $headers, $raw_data) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");  // POST 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $raw_data);  // Post Data
    curl_setopt($ch, CURLOPT_URL, $url);//设置要访问的 URL
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); //模拟用户使用的浏览器
    @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1 );  // 使用自动跳转
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);  //设置超时时间
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1 ); // 自动设置Referer
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 收集结果而非直接展示
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); // 自定义 Headers
    $result = curl_exec($ch);
    curl_close($ch);    return $result;
}// $result = post($url, $headers, $raw_data);

示例

<?php// @ini_set('display_errors', 1);function getAllHeaders() {
    $headers = [];    foreach ($_SERVER as $name => $value) {        if (substr($name, 0, 5) == 'HTTP_') {
            $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
        }
    }    return $headers;
}

$content = file_get_contents('php://input');

$headers = getAllHeaders();
$header_joins = [];foreach ($headers as $k => $v) {    if ($k == 'X-Pingplusplus-Signature' || $k == 'Content-Type')
    array_push($header_joins, $k . ': ' . $v);
} // print_r($header_joins);die();function post($url, $headers, $raw_data) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");  // POST 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $raw_data);  // Post Data
    curl_setopt($ch, CURLOPT_URL, $url);//设置要访问的 URL
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent); //模拟用户使用的浏览器
    @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1 );  // 使用自动跳转
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);  //设置超时时间
    curl_setopt($ch, CURLOPT_AUTOREFERER, 1 ); // 自动设置Referer
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 收集结果而非直接展示
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); // 自定义 Headers
    $result = curl_exec($ch);
    curl_close($ch);    return $result;
}

$result = post('http://rgjc6z4v2x.proxy.qqbrowser.cc/api/pingxx', $header_joins, $content);echo $result;



作者:Dearmadman
链接:https://www.jianshu.com/p/0c8de9dc99ac

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消