从 VBA 到 PHP 的 POST 参数

Posted

技术标签:

【中文标题】从 VBA 到 PHP 的 POST 参数【英文标题】:POST params from VBA to PHP 【发布时间】:2020-03-23 00:24:24 【问题描述】:

我有一个包含一些 VBA 的 MS Access 文件,我想以 POST 模式和一些参数发出一个 http 请求。

URL = "http://example.com/mypage.php"
params = "par1=value1&par2=value2"
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0")
With objHTTP
     .Open "POST", URL, False
     .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0"
     .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
     .send params
     response = .responseText
End With

还有一个尝试打印 POST 参数的 .php 页面

<?php
print_r($_POST);
print_r($HTTP_RAW_POST_DATA);
?>

我从 PHP 页面收到的唯一输出是“array()”,就像没有发送 POST 参数一样。

我的代码有什么问题?

【问题讨论】:

尝试从 Postman/Fiddler 等其他来源测试您的 php 页面。或者只是print 而不是print_r @TimWilliams 来自邮递员或其他 PHP 页面。来自 VBA 编号。 【参考方案1】:

我发现了问题。 我的服务器有一些内部重定向,这些重定向会丢失 VBA 调用中的 POST 参数(http 到 https)。如果我直接调用(使用 https 和 www.),系统就会工作。

【讨论】:

以上是关于从 VBA 到 PHP 的 POST 参数的主要内容,如果未能解决你的问题,请参考以下文章

无法检测从android发送的php中的Post参数

在 VBA HTTP Post 请求中传递参数

PHP 文件没有从 JQuery 中获取 $POST 参数

关于PHP中POST传递参数问题

PHP 后台怎么接收post请求的参数

PHP文件POST传递参数到本身后,include包含的文件接收不到参数?