PHP:通过url将参数发送到Web服务并获取响应

时间:2010-12-19 13:58:13

标签: php web-services forms request response

我知道如何从网络服务获取信息:连接(发送网址,用户和传递)并调用使用nusoap将参数传递给它的方法。以下是示例:

$client = new nusoap_client($webServiceURL, 'wsdl', $proxyhost, $proxyport, $proxyusername, $proxypassword);

    $session_header = "<UserCredentials xmlns='http://page.net/Webservice/'><Userid>".$username."</Userid><Password>".$password."</Password></UserCredentials>";
    $client->setHeaders($session_header);

    $params = array('param_a'=> $var_a, 'param_b'=> $var_b);

    $result = $client->call('nameOfMethod', $params);

但我不知道如何通过网址发送信息:

我有一份注册表格,一旦提交,我必须发送:

请求: [BASE_PATH] /注册/ [名称] / [地址] / [电子邮件] / [电话]

响应:

确定(已注册): 标题内容:200; 正文内容xml:

字段:[传递]

KO(未注册): 标题内容:401; 正文内容XML:

<response>
<error>
[error number]
</error>
</response>

字段:[错误编号]

知道了这一点,请跟着我,提交表格后我该怎么办?如你所见,我对它很陌生,我完全迷失了。 非常感谢

2 个答案:

答案 0 :(得分:1)

我正在尝试使用SOAP,我错了(抱歉,我正在学习)。我在这里做的是创建一个REST请求。

到目前为止我已经完成了:

$request = "http://path.com/app/register/".$phone."/".$gender."/".$address."/". $name;
$response = file_get_contents($request); 

但是当我打印出响应时,我得到: 1d1ffaf569a8a6b3ddc5e88c1c219c22

如果响应正常,我应该在标题中获得200,在正文中获取xml。

当答案是KO时,我说得对:

<response>
<error>
[error number]
</error>
</response>

OK响应发生了什么?我得到它是因为file_get_contents?

如果是这样,我还能使用其他什么?我听说过cURL,但不知道如何使用它:(

非常感谢

答案 1 :(得分:0)

我不太明白你的问题,但也许这可以帮到你: http://php.net/manual/en/features.remote-files.php

甚至直接使用simplexml: http://php.net/manual/fr/function.simplexml-load-file.php