Php 用cURL替换nuSOAP

Php 用cURL替换nuSOAP,php,curl,nusoap,Php,Curl,Nusoap,我有一个将数据与第三方服务同步的PHP脚本,如果可能的话,我想用cURL替换nuSOAP,因为我听说cURL更快。我调用的web服务只接受简单的HTTPPOST并返回它,所以cURL参数不应该太复杂 我需要传递4个信息,用户id、密码、组织id和接收数据的web服务的名称 我应该传递卷曲选项的哪一部分?我试图在头球传给他们,但我不确定这是否正确。我一直收到“错误请求(无效号码)”错误 编辑:我正在设置HTTPHEADER,但看起来它仍然将其设置为text/html。因为,我认为您对cURL有一些

我有一个将数据与第三方服务同步的PHP脚本,如果可能的话,我想用cURL替换nuSOAP,因为我听说cURL更快。我调用的web服务只接受简单的HTTPPOST并返回它,所以cURL参数不应该太复杂

我需要传递4个信息,用户id、密码、组织id和接收数据的web服务的名称

我应该传递卷曲选项的哪一部分?我试图在头球传给他们,但我不确定这是否正确。我一直收到“错误请求(无效号码)”错误


编辑:我正在设置HTTPHEADER,但看起来它仍然将其设置为text/html。

因为,我认为您对cURL有一些基本的了解。我给你一些肤浅的信息

如果你只是在页面上发布一些信息,请利用

curl_setopt($agent, CURLOPT_POST, true);
curl_setopt($agent, CURLOPT_POSTFIELDS, $post_data);
其中,
$post_data
将是您发布到页面的信息,如

$post_data="name=stanley&feedback=good";

如果您试图对页面进行身份验证,只需使用

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt(CURLOPT_USERPWD, '[username]:[password]');

如果您说“我正在调用的web服务只接受简单的HTTP post”,假设它不使用SOAP,您可以通过以下方式实现:

 curl_setopt($handle,CURLOPT_POST,true);
 curl_setopt($handle,CURLOPT_POSTFIELDS,array(
      'user_id'  => 'user',
      'password' => 'pass' //etc, all the key/value pairs you need.
     ));
但是,如果它是一个SOAP服务,那么您必须发出一个SOAP请求,如果没有WSDL,我们无法告诉您需要什么。任何一个PHP XML包都可以创建它,可能是为了简单的事情,甚至是正常的字符串操作

内置soapclient(不是nusoap)中的一个帮助是使用
soapclient
执行请求,只需检查
\uu getLastRequest()
的输出即可