PHP - 不使用 SOAP 发送 POST?

PHP - Sending POST without using SOAP?

This PHP code 使用 SoapClient 工作。

$client = new SoapClient("http://www.roblox.com/Marketplace/EconomyServices.asmx?WSDL");
$response = $client->GetEstimatedTradeReturnForTickets(array("ticketsToTrade" => 1000));
echo $response->GetEstimatedTradeReturnForTicketsResult;

对应一个数字

我计划在 x10hosting(或任何其他具有 10 分钟 cron 的免费网络主机)上执行此操作,但 x10hosting 不支持 SoapClient。

那么如果不使用 Soap 怎么写呢?

编辑: 所以我也试过这个,但没有用。

<?php
//
// A very simple PHP example that sends a HTTP POST to a remote site
//

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"http://www.roblox.com/Marketplace/EconomyServices.asmx/GetEstimatedTradeReturnForRobux");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,array("robuxToTrade" => 1000));

// in real life you should use something like:
// curl_setopt($ch, CURLOPT_POSTFIELDS, 
//          http_build_query(array('postvar1' => 'value1')));

// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec ($ch);

echo $server_output

curl_close ($ch);

?>

对于该特定调用,您可以使用 CURL,请参见下文。对于更广泛的 SOAP 请求,您可能需要寻找一个库来替换缺失的 SoapClient(请参阅您问题下的评论)。

使用 CURL 的示例:

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.roblox.com/Marketplace/EconomyServices.asmx/GetEstimatedTradeReturnForRobux");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "ticketsToTrade=1000");
...

或者只是使用其他答案: