我正在尝试读出任何用户都会看到的网站。 当我正常访问网站并通过浏览器发送请求时,响应是一个html页面,其中包含基于userinput的某些结果。 但是当我复制请求时,我的浏览器发送为curl(chrome和ff功能)并在PHP中将请求作为curl发送,结果是不同的。没有结果,显示PHP错误: array_merge():参数#1不是/data/www/private/libvd2/htmlform.php中的数组
对我来说,看起来服务器无法读取阵列curl发送,尽管这应该与我的浏览器发送的数组相同。 下面和php中的发送标头和curl请求的图像。
有人可以弄清楚出了什么问题吗?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://URL/publiek/tickets.php?PRESET%5BTickets%5D%5Bnaam%5D%5B%5D=BOM&PRESET%5BTickets%5D%5Bdag%5D%5B%5D=2018-04-03");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
$headers = array();
$headers[] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
$headers[] = "Accept-Language: nl,en-US;q=0.7,en;q=0.3";
$headers[] = "Connection: keep-alive";
//$headers[] = "Cookie: _ga=GA1.2.1714037908.1502746144; publiek=atu07sbfc09qtm8nvpqcbkunna";
$headers[] = "Host: publiek.usc.ru.nl";
$headers[] = "Referer: https://URL/publiek/tickets.php?PRESET%5BTickets%5D%5Bnaam%5D%5B%5D=BOM";
$headers[] = "Upgrade-Insecure-Requests: 1";
$headers[] = "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:59.0) Gecko/20100101 Firefox/59.0";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookie);
curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookie);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
} else {
print_r($result);
}
curl_close ($ch);