Javascript 使用cookie发布/提交jQuery表单并获取结果的PHP cURL
我正在使用带有Cookie的php cURL提交jQuery/Java表单并接收结果 我希望此脚本:Javascript 使用cookie发布/提交jQuery表单并获取结果的PHP cURL,javascript,php,jquery,curl,cookies,Javascript,Php,Jquery,Curl,Cookies,我正在使用带有Cookie的php cURL提交jQuery/Java表单并接收结果 我希望此脚本: 拜访 输入IMEI:013064001494963 提交表格 从表单页面接收结果 到目前为止,通过下面的脚本,我能够: 1) 访问URL并将Cookie保存到文件 <?php $get_cookie_page = 'https://unlock.telstra.com/iphoneunlock/main'; echo curl_download($get_cookie_page);
- 拜访
- 输入IMEI:013064001494963
- 提交表格
- 从表单页面接收结果
<?php
$get_cookie_page = 'https://unlock.telstra.com/iphoneunlock/main';
echo curl_download($get_cookie_page);
function curl_download($Url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $Url);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
$http_headers = array(
'Host: unlock.telstra.com',
'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2',
'Accept: /*',
'Accept-Language: en-us,en;q=0.5',
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Connection: keep-alive'
);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $http_headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
?>
2) 使用Cookie并获取表单
<?php
$imei = '013064001494963';
$submit = 'Submit';
$fields = array(
"imei" => $imei,
"_eventId_submit" => $submit
);
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value; }
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://unlock.telstra.com/iphoneunlock/main?execution=e1s1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
$http_headers = array(
'Host: unlock.telstra.com',
'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2',
'Accept: /*',
'Accept-Language: en-us,en;q=0.5',
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Connection: keep-alive'
);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $http_headers);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
var_dump($info);
var_dump($output);
curl_close($ch);
?>
正如您在上面的代码中看到的,我添加了CURLOPT_POSTFIELDS,但在结果中,我得到的表单是空的
关于如何将值粘贴到此表单中并获得结果,有何建议
表格如下:
<form id="unlockForm" class="form wide" action="/iphoneunlock/main?execution=e1s1" method="post">
<input type="text" pattern="\d*" name="imei" id="imei-details" maxlength="15"/>
<input type="submit" id="submit" tabindex="4" name="_eventId_submit" class="btn" value="Submit"/>
<input type="submit" id="cancel" tabindex="4" name="cancel" class="btn" value="Cancel"/>
</form>
有什么建议吗?谢谢您的帮助。我不确定这是否是我的工作防火墙,但我无法访问该网站。这篇帖子的回复不太可能给你带来任何非常有用的东西。下一步需要做什么取决于表单提交后会发生什么,网站会做什么?@davids:此表单根据您输入的IMEI编号返回5种类型的结果。1) 如果iPhone的SIM卡锁定在澳大利亚电信,那么它将免费解锁。2) 如果iPhone的SIM卡已锁定到其他网络,则它将告知其SIM卡已锁定。3) 如果iPhone被解锁,它会告诉你它已经解锁。4) 若iPhone最近被解锁,那个么它将显示其他结果,比如:将iPhone与iTunes同步以完成解锁过程。5) 有些iPhone无法检查,则会显示类似这样的结果:如果您的移动设备不是iPhone。-此表单连接到Apple GSX服务器并告知SIM卡锁定状态