从 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 参数的主要内容,如果未能解决你的问题,请参考以下文章