PHP cURL没有正确发布数据

时间:2013-10-16 05:30:12

标签: php post curl

我正在尝试创建一个php脚本,它将post变量传递给在线表单并返回信息。我已使用命令行使用以下命令成功完成此操作:

curl --data "cid=800.10" http://online.starmont.ca/java/www?html=main

不幸的是我似乎无法使用php。如果有人有任何建议,将不胜感激。提前致谢。这是我目前的PHP脚本。

<?php

//set up a connection variable for the page you will post data to
$curl_connection = curl_init('http://online.starmont.ca/java/www?html=main');

//curl basic setup
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);

//$_POST variables to pass
$post_item = 'cid='.strip_tags($_POST['800.10']);

//format the $post_items into a string
$post_string = implode ('&', $post_items);

//send the $_POST data to the new page
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
$result = curl_exec($curl_connection);

print ($result);
curl_close($curl_connection);
?>

2 个答案:

答案 0 :(得分:0)

您还需要设置

curl_setopt($curl_connection, CURLOPT_POST, true);

为了使curl执行POST请求。

有关详细信息:http://www.php.net/curl_setopt

答案 1 :(得分:0)

请确保放置:

curl_setopt($ curl_connection,CURLOPT_POST,true);

curl_setopt($ curl_connection,CURLOPT_POSTFIELDS,$ post_string);

否则似乎没有发送数据! (反正对我来说)