Я пытаюсь загрузить pdf, используя cURL, и я застрял на странице «Ошибка сервера в/Приложение». Мой код:Ошибка сервера в '/' Применение при попытке cURL
$url = "https://some.domain.com/Reports/Report?ReportID=123456"
$ch = curl_init($url);
$header = array ('Host: some.domain.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSLVERSION, 4);
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, implode(':', $arrayCiphers));
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_COOKIE, "ASP.NET_SessionId=XXXXXXXX; __RequestVerificationToken_XXXXXXX=lots-of-alpha-numeric-characters");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($ch, CURLOPT_REFERER, "https://some.domain.com");
$output = curl_exec($ch);
echo $output;
curl_close($ch);
Есть ли что-то еще, что я могу попробовать или еще отладить, что могу сделать?
По-видимому, это вызвано одним из моих параметров. В URL-адресе есть несколько параметров. &Flag=True
, по-видимому, вызывает ошибку. Если я изменю его на &Flag=False
, я получу пустую страницу.
Что вы можете получить, если попадете в URL прямо в браузере? Требуется ли аутентификация? – mkaatman
Загрузка в формате PDF, если я получаю доступ к URL-адресу непосредственно в браузере. Он не требует имени пользователя и пароля. – MrPeanut
После вашего 'curl_exec ($ ch)', что такое вывод 'echo curl_error ($ ch)'? – mkaatman