【问题标题】:POST params from VBA to PHP从 VBA 到 PHP 的 POST 参数
【发布时间】: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 编号。

标签: php vba ms-access post http-post


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2018-02-17
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-18
    • 1970-01-01
    • 2016-06-17
    相关资源
    最近更新 更多