很多站长朋友们都不太清楚php发送https,今天小编就来给大家整理php发送https,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP如何用fsockopen 连接https服务器 2、 如何通过php发送https Get请求 3、 php网站http怎么变成https 4、 php通过curl发送post json给https产生502错误问题! PHP如何用fsockopen 连接https服务器原理上使用fsockopen连接https和连接http是一样的
但是fsockopen向一个地址发送请求时,只能自己手动拼装头信息,下面是我写的一个函数,可直接调用,功能是向一个地址发起post请求
function request($url, $params){
$URL = parse_url($url);
if(!isset($URL['port'])){
$URL['port'] = 80;
}
$request ='POST '.$URL['path']." HTTP/1.1\nHost: ".$URL['host']."\nContent-type: application/x-www-form-urlencoded\nContent-length: ".strlen(trim($params))."\nConnection: close\n\n".trim($params)."\n";
try{
$fp = fsockopen($URL['host'], $URL['port']);
fwrite($fp, $request);
$res = fread($fp, 1024);
}catch(Exception $e){
fclose($fp);
return false;
}
fclose($fp);
return $res;
}
//调用
$url='https://地址';
$result = request($url, '');
//若服务器有反馈,则打印出来
echo $result;
如何通过php发送https Get请求我封装了一个Curl类,你看能不能用的上
class Http {
public function curlRequest($url, $postData = '', $timeOut = 10, $httpHeader = array()) {
$handle = curl_init ();
curl_setopt ( $handle, CURLOPT_URL, $url );
if ($httpHeader) {
curl_setopt($handle, CURLOPT_HTTPHEADER, $httpHeader);
}
curl_setopt ( $handle, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $handle, CURLOPT_HEADER, 0 );
curl_setopt ( $handle, CURLOPT_TIMEOUT, $timeOut );
curl_setopt ( $handle, CURLOPT_FOLLOWLOCATION, 1 );
curl_setopt ( $handle, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt ( $handle, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt ( $handle, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36');
curl_setopt ( $handle, CURLOPT_ENCODING, 'gzip,deflate,sdch');
if (! empty ( $postData )) {
curl_setopt ( $handle, CURLOPT_POST, 1 );
curl_setopt ( $handle, CURLOPT_POSTFIELDS, $postData);
}
$result['response'] = curl_exec ( $handle );
$result['httpStatus'] = curl_getinfo ( $handle, CURLINFO_HTTP_CODE );
$result['fullInfo'] = curl_getinfo ( $handle );
$result['errorMsg'] = '';
$result['errorNo'] = 0;
if (curl_errno($handle)) {
$result['errorMsg'] = curl_error($handle);
$result['errorNo'] = curl_errno($handle);
}
curl_close ( $handle );
return $result;
}
}
$curl = new Http();
$strUrl = '';
$arrResponse = $curl->curlRequest($strUrl);//这就是请求结果
php网站http怎么变成https服务器+域名+SSL数字证书=HTTPS
PHP网站升级HTTPS流程:
普通的HTTP网站搭建完毕,并且可以访问。
确定升级HTTPS的域名。
Gworg申请后根据Gworg要求完成SSL证书认证。
大约15分钟获得SSL数字证书。
配置到虚拟主机或云服务器就可以实现HTTPS。
解决办法:如果虚拟主机(空间)不支持,也可以让Gworg提供接入,只需解析域名就可以。
php通过curl发送post json给https产生502错误问题!curl_setopt(self::$ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18");
加一个这个参数模拟浏览器,看看有没有作用
有些服务器非浏览器访问就会502
关于php发送https的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。