我有一个简单的php curl函数,它转到另一个站点(不属于我)并填写字段并正常工作唯一的事情是我无法检查复选框。我似乎无法找到答案。
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POST, 1);
$searchCriteria = array(
'historicalMatches' => $_POST['historicalMatches'], //the checkbox
'firstName' => $_POST['firstName'],
'middleName' => $_POST['middleName'],
'lastName' => $_POST['lastName'],
'suffix' => $_POST['suffix'],
'age' => $_POST['age'],
etc..);
curl_setopt($ch, CURLOPT_POSTFIELDS, $searchCriteria);
我尝试将值设置为1并打开并检查。另一页上复选框的html为:
<input type="checkbox" name="historicalMatches" value="on">
我需要做的就是确保每次都检查它。所以我可以添加第二个
curl_setopt($ch, CURLOPT_POSTFIELDS, 'check the box');
只是点击我无法解决的方框。感谢
答案 0 :(得分:0)
您可以尝试更改URL字符串并以这种方式提交已发布的数据,而不是尝试使用cURL填写表单吗?
如果找不到答案,请尝试查看Firefox的Http Headers扩展程序。从那里,您可以看到可用于向服务器提交数据的URL字符串。然后使用cURL和一些简单的PHP变量,您可以更改URL字符串并执行请求。
它基本上会为您填写表格并提交数据。我不确切地知道你想要做什么,但是如果你没有找到如何用你的方法检查方框,请看看这个!