這是我遇到過的最困難的事情之一,可能沒有程序化解決方案。如何使用沒有文件路徑的php檢索再生的pdf文檔?
我颳了一個市政網站作爲判決留置權。結果頁面有兩個框架,即左框架和右框架。左邊框架html是直接的,而不是問題。右邊的框架產生一個pdf文檔,對應於在左邊框架中找到的案例#。
這是實際案例頁面的0。請注意,我已經採取了虛擬點擊的方式來同意TOS,因此我的刮取了一個實際的案例頁面,而不是T.O.S。頁。
要獲取頁面內容需要兩個單獨的擦除,在這裏我使用cURL發送TOS協議,並且我不會爲您提供代碼示例。
第一卷曲緊接着,我送第二捲曲獲取內容,這相當成功的作品:
function getHtml($url, $post = null) {
$content = "";
$string = "Authenticated=0&AccessLevel=z58jgxoXvjk=&AgentKey=&CacheKey=25735097.0777&LastUrl=".urlencode($url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIE, "$string");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
if(!empty($post)) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
我已經解決了在結果頁面兩個框架的URL,所以它沒有我很好地控制基本頁面,因爲這會導致一個對象未找到錯誤(因爲它是一個框架頁面)。
我打電話與左框架:
$leftframeurl = "https://officialrecords.broward.org/oncoreV2/details.aspx?id=47386935";
$leftframecontent = getHtml($leftframeurl);
echo $leftframecontent . "<br><br>";
...如果我這樣做,我得到我可以使用simple_html_dom解析HTML內容。
但有一個PDF掃描文檔涉及到這種情況,並出現在右手邊框,你可以看到,如果你使用瀏覽器手動進行搜索。
的URL右手框架實際上做了重定向來自:
https://officialrecords.broward.org/oncoreV2/ImageBrowser/ShowPDF.aspx
到:
https://officialrecords.broward.org/oncoreV2/ImageBrowser/SinglePagePdf.aspx
其中,去年url是PDF格式的URL。你可以看到任何一個url都沒有查詢字符串變量,沒有「id = 47386935」,也沒有「47386935.pdf」文件位置。沒有什麼可以參考具體的pdf。我似乎很可能在後臺查詢PDF,這是我無法接觸的。
但我想要的是以某種方式訪問該案件的PDF。
我也嘗試了不同的捲曲,發送PDF標題是這樣的:
function getPDF($id,$url){
$content = "";
$string = "Authenticated=0&AccessLevel=z58jgxoXvjk=&AgentKey=&CacheKey=25735097.0777&LastUrl=".urlencode($url);
$request = "";
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_COOKIE => "$string",
CURLOPT_URL => $url,
CURLOPT_HTTPHEADER => array('Cache-Control: public', 'Content-type: application/pdf'),
CURLOPT_HEADER => TRUE,
CURLOPT_RETURNTRANSFER =>true,
CURLOPT_FOLLOWLOCATION => FALSE,
CURLOPT_VERBOSE => true,
CURLOPT_POST => FALSE
));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$content = getPDF('47386935','https://officialrecords.broward.org/oncoreV2/ImageBrowser/SinglePagePdf.aspx');
...但是,這不是給我看任何的愛。
檢查瀏覽器在您正常打開頁面時發送的所有內容。該pdf腳本可能會檢查查閱者,也許有一個cookie。 **必須在某個時間發送*以確定應該輸出哪個pdf。 –
@MarcB推薦人沒有任何幫助,但是...等一下......這裏有一個不同的cookie ......幾分鐘後回報。 – TARKUS