php curl hostname,php curl函数获取远程主机的信息

本文详细介绍了PHP中cURL库的使用,包括`curl_get`和`curl_post`函数的实现,用于发起HTTP GET和POST请求。示例代码展示了如何设置超时、忽略SSL验证、添加HTTP头和Cookie。此外,还涉及到DES加密解密的使用,以确保数据的安全传输。
摘要由CSDN通过智能技术生成

php程序员开发程序过程中,经常需要调用其他的接口。php为我们提供了一系列函数。curl系列函数。下面就这一些列函数的用法加以说明,以备自己和他人查阅。

demo.php

function curl_get($url,$headerArr='',$cookie=''){

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);

curl_setopt($ch, CURLOPT_TIMEOUT, 10);//10秒超时

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  FALSE);

if($headerArr){

curl_setopt($ch, CURLOPT_HTTPHEADER , $headerArr);

}

if($cookie){

curl_setopt($ch, CURLOPT_COOKIE, $cookie);

}

$data = curl_exec($ch);

curl_close($ch);

return $data;

}

// 调用实例

$url = "http://192.168.10.26:8801/2/sub-system/user";

$cookie = "token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjIyM30.Y25kn6rLQCttGrsEuf4taTqBvKD9oMaZVOEb2L0Ig7U";

$results=curl_get($url,'',$cookie);

$results=json_decode($results,true);

if($results['code']==0){

return $results['data'];

}

return "";

function curl_post($url,$postData,$headerArr='',$cookie=''){

if(is_array($postData)){

$postData=http_build_query($postData);  //生成 URL-encode 之后的请求字符串

}

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);

curl_setopt($ch, CURLOPT_TIMEOUT, 10);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  FALSE);

curl_setopt($ch, CURLOPT_POST, 1);//10秒超时

curl_setopt($ch, CURLOPT_POSTFIELDS,$postData);

if($headerArr){

curl_setopt($ch, CURLOPT_HTTPHEADER , $headerArr);

}

if($cookie){

curl_setopt($ch, CURLOPT_COOKIE, $cookie);

}

$data = curl_exec($ch);

curl_close($ch);

return $data;

}

// 调用实例

$url = "http://devwallet.100msh.com/walletadmin/api/wallet/";

$data = array('time'=>date('Y-m-d H:i:s',strtotime('-1 day')));

$des = new Des('@Wt^2)V#');    // php,java等通用的des加密解密算法类

$data = $des->encrypt(json_encode($data));

$headerArr=array(

'Content-type:text/html',

);

$results = curl_post($url,$data,$headerArr);

$results = json_decode($results,true);

if($results['code']==0){

return $results['data'];

}

return "";

?>

Des.class.php

/**

* Class Des

* @desc PHP,Java通用的des加密解密算法类

*/

//header("Content-type: text/html; charset=utf-8");

class Des {

private $key;

function __construct($key) {

$this->key = $key;

}

function encrypt($input) {

$size = mcrypt_get_block_size('des', 'ecb');    //本函数用来取得编码方式的区块大小

$input = $this->pkcs5_pad($input, $size);

$key = $this->key;

$td = mcrypt_module_open('des', '', 'ecb', '');

$iv = @mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);

@mcrypt_generic_init($td, $key, $iv);

$data = mcrypt_generic($td, $input);

mcrypt_generic_deinit($td);

mcrypt_module_close($td);

$data = base64_encode($data);

return $data;

}

function decrypt($encrypted) {

$encrypted = base64_decode($encrypted);

$key =$this->key;

$td = mcrypt_module_open('des','','ecb',''); //使用MCRYPT_DES算法,cbc模式

$iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);

$ks = mcrypt_enc_get_key_size($td);

@mcrypt_generic_init($td, $key, $iv);       //初始处理

$decrypted = mdecrypt_generic($td, $encrypted);       //解密

mcrypt_generic_deinit($td);       //结束

mcrypt_module_close($td);

$y=$this->pkcs5_unpad($decrypted);

return $y;

}

function pkcs5_pad ($text, $blocksize) {

$pad = $blocksize - (strlen($text) % $blocksize);

return $text . str_repeat(chr($pad), $pad);

}

function pkcs5_unpad($text) {

$pad = ord($text{strlen($text)-1});

if ($pad > strlen($text)) return false;

if (strspn($text, chr($pad), strlen($text) - $pad) != $pad)

return false;

return substr($text, 0, -1 * $pad);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值