从Web服务器连接到WebService时出现错误403

时间:2019-05-20 18:33:26

标签: php apache web-services soap-client

我正在尝试从PHP服务器连接到WebService。当服务器位于AWS EC2 Cloud中时,它将获得正确的响应,但是当我从Linode云中托管的服务器发出请求时,我总是会收到403响应,并带有HTML来请求解决Cloudfare验证码。

存在发出请求的PHP代码:

$request = new SoapClient("https://datacast10.info/WSVEICULOSIMPLES/wsvs2.asmx?WSDL");
$response = $client->__soapCall('consulta', ['consulta' => ['dado' => 'data', 'tipo' => 'type', 'chave' => key]]);
if ($response){
    ... //Work with the response
}

当我在使用CentOS 6.7,PHP 7的Linode服务器中测试此代码时,它在第一行中失败。

我也尝试手动连接到服务器,发出shell命令。如果我在服务器外壳上尝试这样做:

    curl https://datacast10.info/WSVEICULOSIMPLES/wsvs2.asmx?WSDL

我收到一个网页,要求启用cookie并解决验证码(带有CloudFare品牌)。

但是,如果我在具有Ubuntu 18.04和PHP 7的AWS Lightsail实例上尝试相同的代码,则该请求有效,并且curl命令正确返回WSDL。

我已经尝试使用相同的帐户和另一个帐户创建新的Linode,但出现相同的错误。

0 个答案:

没有答案