Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用cookie发布/提交jQuery表单并获取结果的PHP cURL_Javascript_Php_Jquery_Curl_Cookies - Fatal编程技术网

Javascript 使用cookie发布/提交jQuery表单并获取结果的PHP cURL

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);

我正在使用带有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);

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卡锁定状态