1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | /** * 发送请求 * author: xiaochuan * @param string $url 请求地址 * @param array $header header数据 * @param array $data POST的数据 * @return string */ function send_curl( $url , $header , $data ){ //开启一个curl会话 $ch = curl_init(); if ( substr ( $url ,0,5)== 'https' ){ // 跳过证书检查 curl_setopt( $ch , CURLOPT_SSL_VERIFYPEER, false); // 从证书中检查SSL加密算法是否存在 curl_setopt( $ch , CURLOPT_SSL_VERIFYHOST, true); } //要求结果保存到字符串中还是直接输出到屏幕上(false直接输出,相当于自动加echo) curl_setopt( $ch , CURLOPT_RETURNTRANSFER, true); //请求地址 curl_setopt( $ch , CURLOPT_URL, $url ); //header头数据传递【key+value】 curl_setopt( $ch , CURLOPT_HTTPHEADER, $header ); //设置为Post请求,默认是GET 如果是GET请求可以删掉这里,或设置为0或false curl_setopt( $ch , CURLOPT_POST, true); //传递数据【key+value】 curl_setopt( $ch , CURLOPT_POSTFIELDS, http_build_query( $data )); //运行cURL,正式请求。 $res = curl_exec( $ch ); //返回一个包含当前会话错误信息的字符串 if ( $error =curl_error( $ch )){ die ( $error ); } //关闭curl会话 curl_close( $ch ); //返回请求到的数据 return $res ; } |
如何获取别人传过来的Header数据呢:
如:
$value1 = $_SERVER['HTTP_别人传过来的KEY'];
接收页:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php //接口入口文件 $data = get_header_data(); //获取Header数据 print_r( $data ); /** * 接收Header数据 * author:xiaochuan * @access public * @param * @return */ function get_header_data(){ $data = []; foreach ( $_SERVER as $k => $v ){ if ( substr ($, 0, 5)=== 'HTTP_' ){ $k = substr ( $k , 5); $k = str_replace ( '_' , ' ' , $k ); $k = str_replace ( ' ' , '-' , $k ); $k = strtolower ($); $data [ $k ] = $v ; } } return $data ; } } |
转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/63.html
1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意