【问题标题】:How to Get content using curl/web scraping with parsing PHPSESSID?如何通过解析 PHPSESSID 使用 curl/web 抓取来获取内容?
【发布时间】:2021-01-18 17:39:38
【问题描述】:

我有 2 个由 PHPSESSID 链接的网址,

$main = test.com/report/download.php?id=123 //This Url get PHPSESSID

$content = test.com/report/pdf //This Url request PHPSESSID

如何使用 curl 获取第二个 url 中的内容?

待办事项

我打算从我的网页上创建一个按钮,当按下该按钮时,它将立即下载第二个 url 上的内容 pdf,而无需在浏览器选项卡中打开第一个 url

我试过了

我曾尝试将 PHPSESSID 保存在数据库中,当按下按钮时,第二个 url 将请求数据,但该方法无效,因为 PHPSESSID 有访问时间,在我的情况下,保存 PHPSESSID 的触发器只是一次完成

【问题讨论】:

    标签: php web curl web-scraping


    【解决方案1】:

    您可以使用 <session_name>=<session_id> 格式通过 curl 的 url 传递会话。例如sprintf('test.com/report/pdf?%s=%s',urlencode(session_name()),urlencode(session_id())); 或通过 cookie。见https://www.php.net/manual/en/session.idpassing.php

    【讨论】:

    • 我无法在其他网站上获取季节 id 它的 bcs 我的按钮,我希望我可以打开 $main url 并从我的另一个网站上的按钮中的 $coontent url 获取 pdf
    • 您希望您的按钮向您的网站(一些 php 文件)发出请求。 PHP 向主 url 发出 curl 请求,该请求将返回一个包含会话 ID 的 cookie。然后,您将该会话 ID 传递到第二个 curl 请求中,该请求获取 pdf,然后将该 pdf 发送回浏览器。这一切皆有可能。
    猜你喜欢
    • 1970-01-01
    • 2012-01-14
    • 2015-04-29
    • 2013-04-10
    • 2015-10-11
    • 1970-01-01
    • 2020-04-07
    • 2012-04-13
    • 1970-01-01
    相关资源
    最近更新 更多