web scraping mit php und curl hinter firmenproxy / firewall


0

Ich stehe hinter einem Unternehmens-Proxy / einer Unternehmens-Firewall. Ich möchte Informationen von einer anderen Website extrahieren und versuche dies mit PHP und Curl.

Mein Skript lautet wie folgt:

========================================

$url = "www.guptaed.com"; $proxy_ip = "12.34.56.78"; // ip changed from real company proxy $proxy_port = "81"; $proxy_user_pass = "my_user_name:my_password"; // user&pass changed

$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1); curl_setopt($ch, CURLOPT_TIMEOUT_MS, 5000); curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP'); curl_setopt($ch, CURLOPT_PROXY, $proxy_ip); curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port); curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy_user_pass);

$data = curl_exec($ch); curl_close($ch); echo $data;

==================== Ende des Skripts ==============

Folgendes wird auf dem Bildschirm angezeigt, wenn ich dieses Skript aufrufe (über einen lokal installierten Apache-Server):

========================================

Gefunden

Das Dokument wurde hierher verschoben.

1

==================== Ende der Ausgabe ================

"hier" im obigen Satz ist ein Link mit der URL: " http://www.guptaed.com/proxy.cgi?proxy.pac "

Jede Hilfe wird geschätzt.

Vielen Dank! Ashish

Antworten:


0

Die Ziel-URL hat einen 302-HTTP-Antwortcode zurückgegeben, mit dem Sie zu einer anderen URL weitergeleitet werden. Aus diesem Grund erhalten Sie das Ergebnis "Gefunden" mit einer anderen URL.

Versuchen Sie, curl so zu konfigurieren, dass es Weiterleitungen folgt:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

Jetzt bekomme ich eine Bildschirmansicht mit Informationen. Die Ausgabe enthält folgende Elemente: // Dynamische automatische Proxy-Konfiguration - BITTE NICHT ÄNDERN // Konfiguration erstellt am 9. September, 04:03:14 2016 UTC - proxy.pac: Standard // Client-IP: 48.66.80.33 | BROWSER: | Region: default ftpProxyAll = "PROXY" + "48.64.218.100:8080" + "; PROXY" + "48.65.218.100:8080"; gopherProxyAll = "PROXY" + "48.64.218.100:8080" + "; PROXY" + "48.65.218.100:8080"; httpProxyAll = "PROXY" + "48.64.218.100:8080" + "; ..... Irgendwelche Vorschläge? Danke!
guptaed
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.