我有一个PHP脚本,可以将数据与第三方服务同步,如果可能的话,我希望用cURL替换nuSOAP,因为我听说cURL更快。我调用的Web服务只需要简单的HTTP post并返回它,因此cURL参数不应该太复杂。
我需要传递4件事,一个用户ID,密码,组织ID和Web服务的名称,以便从中接收数据。
我传递了哪些cURL选项?我试图在标题中传递它们,但我不确定这是否正确。我一直收到“错误请求(无效号码)”错误。
编辑:我正在设置HTTPHEADER,但看起来它仍然将其设置为text / html。
答案 0 :(得分:0)
因为,我认为您对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]');
答案 1 :(得分:0)
如果你说'我正在调用的网络服务只需要简单的HTTP帖子',假设不使用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
执行请求,并检查__getLastRequest()
的输出。