php - PHP - 使用 cURL 发送 GET 请求
问题描述
我正在遵循 RackSpace API 中的文档来创建指向我们云文件中文件的临时 URL。看来我需要向特定 URL 发送 GET 请求,但是还有其他 2 个参数我不明白它们是如何传递的。我将 cURL 用于 GET 请求。
这是示例代码:
<?php
if ($argc != 5) {
echo "Syntax: <method> <url> <seconds> <key>";
echo "Example: GET https://storage101.dfw1.clouddrive.com/v1/" .
"MossoCloudFS_12345678-9abc-def0-1234-56789abcdef0/" .
"container/my_cat.jpg 60 my_shared_secret_key";
} else {
$method = $argv[1];
$url = $argv[2];
$seconds = $argv[3];
$key = $argv[4];
$method = strtoupper($method);
list($base_url, $object_path) = split("/v1/", $url);
$object_path = "/v1/$object_path";
$seconds = (int)$seconds;
$expires = (int)(time() + $seconds);
$hmac_body = "$method\n$expires\n$object_path";
$sig = hash_hmac("sha256", $hmac_body, $key);
echo "$base_url$object_path?" .
"temp_url_sig=$sig&temp_url_expires=$expires";
}
?>
它在该代码上方说这一行可能会有所帮助:“在以下示例中,将为 my_cat.jpg 对象生成一个可使用 60 秒的 TempURL。示例中的关键是 X-Account-Meta 的值-Temp-Url-Key。”
在此之前,我已经使用 POST 命令设置了“X-Account-Meta-Temp-Url-Key”标头。
基本上,我对如何通过 URL 传递“60”和“my_shared_secret_key”感到困惑。
解决方案
推荐阅读
- javascript - 如何让我的启动功能上的音频处于循环状态,以便它在 javascript 游戏过程中一直播放?
- javascript - Vue 使用动态变量计算的内联样式在 Safari/IE 中不起作用
- java - 从对象的构造函数中传递的 lambda 访问对象
- java - Spring 数据 JDBC 无法创建存储库 Bean - “实体被标记为 @NonNull 但为空”
- javascript - 访问组件之间的变量
- javascript - 如何知道请求是使用 HTTP 1.x 还是 HTTP2 执行的
- git - 有没有办法将当前项目与 git 分支进行比较并创建差异补丁
- ios - Websocket lib 是否能够在 Swift 中发送或接收 json 对象?
- html - 对齐标题?
- java - 任何优化的解决方案:获取位于同一位置的两个列表中的元素的索引