PHP stream_context_create模拟GET/POST请求

stream_context_create作用:
创建并返回一个文本数据流并应用各种选项,可用于fopen(),file_get_contents()等过程的超时设置、代理服务器、请求方式、头信息设置的特殊过程。

参考:http://php.net/manual/zh/function.stream-context-create.php

function sign($value) {
    $fp = fopen('pri_key.pem', "r");
    $pub_key_string = fread($fp, 8192);
    $pkeyid = openssl_pkey_get_private($pub_key_string);
    openssl_sign($value, $signature, $pkeyid);
    return base64_encode($signature);
}

$data = 'test';
$data_encode = base64_encode($data);
$url = 'https://www.appblog.cn/' . $data_encode;

$signature = sign(base64_encode($data));

$opts = array (
    'http' => array (
        'method' => "GET",
        'header' => "Content-Type: application/json\r\n" .
                    "signType: RSA\r\n" .
                    "signature: " . $signature . "\r\n"     
    ),
    "ssl" => array(
        "verify_peer" => false,
        "verify_peer_name" => false,
    )
);

$context = stream_context_create($opts);
$response = json_decode(file_get_contents($url, false, $context));

print_r($response);
上一篇 Laravel开发技巧
下一篇 laravel-admin文件上传及处理
目录
文章列表
1 MySQL LIKE 子句
MySQL LIKE 子句
2
Prometheus + Grafana 使用 redis_exporter 监控 Redis
Prometheus + Grafana 使用 redis_exporter 监控 Redis
3
CentOS 7下源码部署phpLDAPadmin
CentOS 7下源码部署phpLDAPadmin
4
Spring Boot邮件服务
Spring Boot邮件服务
5
React Native实战之运行官方项目f8app(适配IOS_Mac)
React Native实战之运行官方项目f8app(适配IOS_Mac)
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。