我想从网站上获取一些数据。我有登录凭证,我可以通过curl登录,但是有一个登录过程的第二阶段,我必须回答一个安全问题。
问题是每次我输入用户ID,密码都会重定向到不同的网址。
例如: 登录网址:https://url.com 登录后:https://url?execution=e4s1&action=caDevicePrint(安全q / a页面)
此处'执行= e4s1'登录后每次都在改变,如e1s1,e1s2,e3s2。
我想动态设置CURLOPT_URL。下面是我的代码:
$this->curl = curl_init();
curl_setopt($this->curl, CURLOPT_URL, "https://url?execution=e4s1&action=caDevicePrint");
curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($this->curl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($this->curl, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($this->curl, CURLOPT_USERAGENT,$this->userAgent);
curl_setopt($this->curl, CURLOPT_COOKIEJAR,$this->cookieFile);
curl_setopt($this->curl, CURLOPT_COOKIEFILE,$this->cookieFile);
$results = curl_exec($this->curl);
echo $results;
if (curl_errno($this->curl)) {
echo "Failed loading <br>";
var_dump(curl_error($this->curl));
die();
}
curl_close($this->curl);
答案 0 :(得分:0)
你需要抓住标题。这将告诉curl
在其响应中包含标题。
curl_setopt( $this->curl, CURLOPT_HEADER, TRUE );
获得标题后,您可以解析它们以查看该网站将您重定向到的URL。