使用curl添加作业

时间:2013-06-26 17:44:10

标签: php curl

您好我使用php curl在http://www.alliedtravelcareers.com/feed/jobs.php中添加作业,我使用curl方法传递所有参数但是我收到错误“没有找到POST数据!请使用POST方法发送数据。” 。我使用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中正确发送数据,但它仍然显示找不到发布数据的错误。

请帮助我,我尝试了很多卷曲但没有取得成功。

1 个答案:

答案 0 :(得分:1)

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

你可以使用类似的东西:

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

如果变量的名称应为data,则值为xml字符串。