真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在php中使用curl設(shè)置header頭傳參-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么在php中使用curl設(shè)置header頭傳參,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)建站服務(wù)項目包括常山網(wǎng)站建設(shè)、常山網(wǎng)站制作、常山網(wǎng)頁制作以及常山網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,常山網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到常山省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

php curl設(shè)置header的方法:首先初始化瀏覽器;然后設(shè)置瀏覽器,并把參數(shù)url傳到瀏覽器的設(shè)置當(dāng)中;接著以字符串形式返回到瀏覽器當(dāng)中,并判斷data是否有數(shù)據(jù);最后通過“curl_setopt”方法設(shè)置header頭即可。

PHP使用CURL設(shè)置header頭傳參以及設(shè)置Content-Type: application/json類型的后臺數(shù)據(jù)接收

CURL函數(shù)

public function CurlRequest($url,$data=null,$header=null){
  //初始化瀏覽器
  $ch = curl_init();
  //設(shè)置瀏覽器,把參數(shù)url傳到瀏覽器的設(shè)置當(dāng)中
  curl_setopt($ch, CURLOPT_URL, $url);
  //以字符串形式返回到瀏覽器當(dāng)中
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  //禁止https協(xié)議驗證域名,0就是禁止驗證域名且兼容php5.6
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  //禁止https協(xié)議驗證ssl安全認(rèn)證證書
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  //判斷data是否有數(shù)據(jù),如果有data數(shù)據(jù)傳入那么就把curl的請求方式設(shè)置為POST請求方式
  if ( !empty($data) ) {
    //設(shè)置POST請求方式
    @curl_setopt($ch, CURLOPT_POST, true);
    //設(shè)置POST的數(shù)據(jù)包
    @curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  }
  //設(shè)置header頭
  if ( !empty($header) ) {
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  }
  //讓curl發(fā)起請求
  $str = curl_exec($ch);
  //關(guān)閉curl瀏覽器
  curl_close($ch);
  //把請求回來的數(shù)據(jù)返回
  return $str;
}

函數(shù)調(diào)用

$url = "http://desk.yunindex.cn/test";
$jsonArr = [
  'accountid' => '34',
  'option' => 'chat_index',
];
$jsonStr = json_encode($jsonArr);  //設(shè)置了Content-Type: application/json,傳參要轉(zhuǎn)化為JSON,否則后臺接收不到數(shù)據(jù)
//header頭設(shè)置
$headers = array(
  "Content-Type: application/json",
  "Content-Length: " . strlen($jsonStr) . "",
  "Accept: application/json",
  "client-id:5K8264ILTKCH16CQ2502SI8ZNMTM67VS",    //自定義參數(shù)
  "client-secret:C380BEC2BFD727A4B6845133519F3AD6"  //自定義參數(shù)
);
$data = $this->CurlRequest($url,$jsonStr,$headers);

后臺接受

json_encode($_SERVER)  

使用$_SERVER能接收到header頭的信息,在header頭里面設(shè)置的自定義參數(shù)會在這里面體現(xiàn)

結(jié)果

{
"USER": "www",
"HOME": "\/home\/www",
"HTTP_CLIENT_SECRET": "C380BEC2BFD727A4B6845133519F3AD6",       //這是自定義的參數(shù),跟上面?zhèn)鞯膮?shù)相對于,會自動轉(zhuǎn)化為大寫跟下劃線
"HTTP_CLIENT_ID": "5K8264ILTKCH16CQ2502SI8ZNMTM67VS",          //這是自定義的參數(shù),跟上面?zhèn)鞯膮?shù)相對于,會自動轉(zhuǎn)化為大寫跟下劃線
"HTTP_ACCEPT": "application\/json",  
"HTTP_CONTENT_LENGTH": "40",
"HTTP_CONTENT_TYPE": "application\/json",
"HTTP_HOST": "desk.yunindex.cn",
"SCRIPT_FILENAME": "\/workspace\/php\/index_desk\/htdocs\/index.php",
"REDIRECT_STATUS": "200",
"SERVER_NAME": "desk.yunindex.cn",
"SERVER_PORT": "80",
"SERVER_ADDR": "192.168.1.90",
"REMOTE_PORT": "64524",
"REMOTE_ADDR": "192.168.1.113",
"SERVER_SOFTWARE": "nginx\/1.15.2",
"GATEWAY_INTERFACE": "CGI\/1.1",
"REQUEST_SCHEME": "http",
"SERVER_PROTOCOL": "HTTP\/1.1",
"DOCUMENT_ROOT": "\/workspace\/php\/index_desk\/htdocs",
"DOCUMENT_URI": "\/index.php",
"REQUEST_URI": "\/test",
"SCRIPT_NAME": "\/index.php",
"CONTENT_LENGTH": "40",
"CONTENT_TYPE": "application\/json",
"REQUEST_METHOD": "POST",
"QUERY_STRING": "",
"FCGI_ROLE": "RESPONDER",
"PHP_SELF": "\/index.php",
"REQUEST_TIME_FLOAT": 1557025085.410574,
"REQUEST_TIME": 1557025085
}

這里有一個問題,如果使用的是nginx的話,header頭里的參數(shù)如果有下劃線(如:client_secret),使用$_SERVER貌似會接收不到該參數(shù),需要配置nginx.conf,在里面添加 underscores_in_headers on; 配置

file_get_contents('php://input')

接收參數(shù),以流的形式接收

結(jié)果

string(40) "{"accountid":"34","option":"chat_index"}"

上述就是小編為大家分享的怎么在php中使用curl設(shè)置header頭傳參了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。


網(wǎng)站欄目:怎么在php中使用curl設(shè)置header頭傳參-創(chuàng)新互聯(lián)
文章出自:http://weahome.cn/article/dceeho.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部