gpt4 book ai didi

php - 如何用PHP下载生成的pdf文件?

转载 作者:行者123 更新时间:2023-12-04 09:45:24 24 4
gpt4 key购买 nike

我正在努力获取由外部服务器生成的 PDF 文件。

这是资源的链接:https://www.test.colisprive.com/mcadesk/Externe/ShowEtiquettePDF.aspx/etiquette_colis-23-23000000000833300-PDF_DEFAUT-N/

如您所见,不需要身份证明。

我注意到我可以在 URL 的末尾写任何我想要的东西,它会被浏览器集成的 pdf 阅读器解释为标题。但是当使用“另存为...”时,文件名已经被设置为一个固定值。

我试图用 cURL 来获取它,但它返回“对象移动到这里。”(链接),除了链接不起作用并且使用 CURLOPT_FOLLOWLOCATION 返回 false。

我真的需要从这个 URL 下载 pdf 文件,但我完全卡住了,任何想法都会非常受欢迎!!

谢谢,
BR,

摩奴

编辑 :
我试过这个:

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_HTTPHEADER => array(
),
CURLOPT_URL=>"https://www.test.colisprive.com/mcadesk/Externe/ShowEtiquettePDF.aspx/etiquette_colis-23-23000000000833300-PDF_DEFAUT-N/Etiquette_23000000000833300.pdf",
CURLOPT_RETURNTRANSFER => 1,
));

$resp = curl_exec($curl);
var_dump($resp);

curl_close($curl);

最佳答案

如果请求未提供 User-Agent,则上述网站不会提供请求的内容(而是发出重定向)。标题。

PHP 的 CURL 没有设置 User-Agent默认情况下,也不是 file_get_contents .不同的是,命令行 curl和 Python 的 urllib.request.urlretrieve做,这就是你成功的原因。

使用 PHP 的 CURL,您必须设置 User-Agent由你自己,但它只是一行。

请注意,您正在访问的网站需要它,但接受 任何 User-Agent .

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_HTTPHEADER => array(
"User-Agent: curl" // <--- the User Agent is specified by setting the corresponding header
),
CURLOPT_URL=>"https://www.test.colisprive.com/mcadesk/Externe/ShowEtiquettePDF.aspx/etiquette_colis-23-23000000000833300-PDF_DEFAUT-N/Etiquette_23000000000833300.pdf",
CURLOPT_RETURNTRANSFER => 1
));

$resp = curl_exec($curl);

var_dump($resp);

curl_close($curl);

你得到的输出看起来像:
%PDF-1.4
1 0 obj
<<
/Length 1514
/Filter /FlateDecode
.
.
.

您实际上收到的是 PDF。

然后您可以提供获取的 PDF
echo $resp;
或将文件存储在您的服务器上
file_put_contents( "/path/to/file", $resp );

关于php - 如何用PHP下载生成的pdf文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62150771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com