0

我正在尝试通过cUrl我的 Apache localhost 上的 PHP 表单将一些 XMl 发送到在我的 .NET localhost 上运行的.ashx侦听器类。ProcessRequest()

我在不同的端口上运行 Apache 和 .NET,它们工作正常,问题是cURL返回 500 内部服务器错误。

cURL的 Requestb.in 工作正常并且没有问题,但是在发送到我的本地 .NET 开发服务器时,我得到了错误No parameterless constructor defined for this object。我不知道为什么会这样,起初我认为可能是授权问题,但为页面设置了正确的授权无济于事(代码如下)。

  <location path="AccountHandler.ashx">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

这是我的cURL代码:

function DoPostRequest($url, $xml){

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                                           'Authorization:  BASIC ' . base64_encode("test:test"),
                                           'Content-type: application/xml', 
                                           'Content-length: ' . strlen($xml),
                                           'User-Agent: Googlebot/2.1',
                                         ));
    $output = curl_exec($ch);
    $http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    return $output; 
}

在本地主机上接收 POST 是否有某种本地 .NET 预防措施?这对我来说似乎很奇怪,但回想起来,我记得过去我无法在本地环境中接收来自第三方 API 的推送通知。

这是问题还是我忽略了一些配置问题?

4

0 回答 0