2013-06-26 39 views
0

你好我正在使用php curl来添加作业http://www.alliedtravelcareers.com/feed/jobs.php,我使用curl方法传递了所有的参数,但是我得到的错误是“没有发现POST数据!请使用POST方法发送数据。 。我使用curl发送数据使用curl添加作业

$data = '<?xml version="1.0" encoding="utf-8"?> 
<source> 
<apiKey>apikey</apiKey> 
<method>add</method> 
<jobs> 
<job> 
<jobId><![CDATA['.rand(1,9999).']]></jobId> 
<title><![CDATA['.$job_desc->return->dto->title.']]></title> 
<city><![CDATA['.$job_desc->return->dto->address->city.']]></city> 
<state><![CDATA['.$job_desc->return->dto->address->state.']]></state> 
<license><![CDATA['.$job_desc->return->dto->title.']]></license> 
</job> 
</jobs> 
</source>'; 



$url = "http://www.alliedtravelcareers.com/feed/jobs.php"; 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml')); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_TIMEOUT,40000000000000000); 
$output = curl_exec($ch); 
curl_close($ch); 

我在curl中正确发送数据,但仍显示我找不到任何后期数据的错误。

请帮我我已经尝试了许多卷曲变化,但没有成功。

+0

这只是您复制和粘贴代码的格式错误? ''; \'' –

+0

在附注上,零无限期等待超时:'curl_setopt($ curl,CURLOPT_TIMEOUT,0);' –

回答

1

您需要发布一个键值对,并且您只是发布该值。

你或许可以使用类似:

... 
$datastring = 'data=' . urlencode($data); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $datastring); 
... 

如果变量的名称应该是data和值的XML字符串。