POST接收的.NET本地限制

时间:2013-10-14 09:32:06

标签: php asp.net curl

我试图通过cUrl从我的Apache localhost上的PHP表单发送一些XMl到一个.ashx监听器类,其ProcessRequest()运行在我的.NET localhost上。

我在不同的端口上运行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; 
}

在localhost上接收POST是否存在某种本地.NET防护?这对我来说似乎很奇怪,但回顾过去我确实记得在过去的本地环境中无法接收来自第三方API的推送通知。

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

0 个答案:

没有答案