我使用cURL在其他网页上提交表单并遇到了一个奇怪的现象:
当我使用print_r($fields)
打印帖子字段之前,在将数组传递给cURL请求并提交之前,表单已提交两次。当我从脚本中删除该行时,双重提交将消失。
为什么打印数组导致双重提交?
//set POST variables
$fields = array();
$fields['input-name'] = 'input-value';
print_r($fields); //causes double submission
//open connection
$url = 'http://blah.com/blah/blah';
$request = curl_init($url);
//send post data
curl_setopt($request, CURLOPT_POST, true);
curl_setopt($request, CURLOPT_POSTFIELDS, $fields);
// output the response
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($request);