php - 适用于 PHP 2 的 AWS S3 开发工具包 - 获取 HTTP 请求/响应字符串

标签 php amazon-web-services amazon-s3

我有一个通用的 HTTP 文件访问 API,用于我正在使用的系统。为了使其尽可能灵活,它以 HTTP 字符串的形式返回请求和响应数据。

我目前正在实现一个与 S3 交互的版本,通过 AWS SDK for PHP 2 .

是否有一种简单的方法可以快速获取S3Client在执行操作时发出的Request和Response HTTP请求?如果没有,是否有一种更零碎的方法可以让我不必伪造它?

基本上,我想要按需获取请求和响应的全文,或者至少访问相关数据( header 、响应代码、URL 等),以便我可以正确填充我的框架的返回数据.

谢谢。

最佳答案

您可以从命令对象获取请求或响应对象。假设 $s3 拥有 Aws\S3\S3Client 的实例,您可以执行以下操作:

$command = $s3->getCommand('ListObjects', array('Bucket' => '<bucket-name>'));
$request = $command->getRequest();
$response = $command->getResponse();

这些对象具有用于查看正文、 header 、状态代码等的方法,您可以将它们转换为字符串以查看字符串形式。

如果您想在执行命令时快速查看请求和响应,您可以连接线路记录器,并查看 STDOUT(或 STDERR)上显示的内容

$s3->addSubscriber(\Guzzle\Plugin\Log\LogPlugin::getDebugPlugin());
$s3->listObjects(array('Bucket' => '<bucket-name>'));

关于php - 适用于 PHP 2 的 AWS S3 开发工具包 - 获取 HTTP 请求/响应字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14406084/

相关文章:

php - 如何在 codeigniter 中创建 url/用户名?

javascript - 按顺序将数组值传递给数据库

python - 在aws中获取表的列名作为元组而不是字符串

amazon-web-services - aws emr cli 因 InvalidRequestException 失败

java - 使用 S3 DeleteObject 仅删除文件,保持目录结构不变

swift - 无法使用 Alamofire 直接上传到 S3

php - 在 SQL 中有效但在 PHP 中无效的查询

angularjs - 使用签名的 url 将文件从 angularjs 直接上传到 amazon s3

java - 如何将图像文件从亚马逊 s3 移动到亚马逊 ec2 并使用 java 运行实例

php 绑定(bind)结果