【问题标题】:posting from PHP to ASP page returns raw source code从 PHP 发布到 ASP 页面返回原始源代码
【发布时间】:2020-07-16 10:43:31
【问题描述】:

我正在尝试将数据从 PHP 发布到 ASP 页面。这是PHP代码:

$url = 'test.asp';
$data = array('q' => 'test');

$options = array(
    'http' => array(
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'POST',
        'content' => http_build_query($data)
    )
);
$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { 
  //Handle error
 }

var_dump($result);

这是 ASP 页面:

<%Response.Write(request("q"))%>

当我调用 PHP 页面时,它会打印 &lt;%Response.Write(request("q"))%&gt;。我正在安装了经典的 Asp 和 Php 的 IIS 上测试这个结构。

【问题讨论】:

  • “$url = 'test.asp';” - 这是本地文件系统路径,而不是 HTTP URL。您没有发出 HTTP 请求(这会使 Web 服务器解析/执行此文件),您只是在读取实际的 文件内容

标签: php post asp-classic


【解决方案1】:

虽然test.asp 在某些情况下是一个相对 URL,但它不在这里。

file_get_contents 只会在您向其传递 absolute URL(例如以 http://www.example.com/ 开头的 URL)时发出 HTTP 请求。

向它传递一个文件名将导致它从本地文件系统中读取,从而绕过任何将执行 ASP 代码的 HTTP 服务器模块。

【讨论】:

    猜你喜欢
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多