Quellcode auslesen

09/19/2019 21:12 .Insane#1
Hallo zusammen,
ich habe eine Webseite, wobei ich unter anderem mit PHP Simple HTML DOM Parser den Quellcode einer Webseite ausgelesen habe und im weiteren Verlauf auf bestimmte Stellen durchsucht habe.
Den Quellcode habe ich mir simpel mit folgendem Quellcode holen können:
Code:
include_once("simple_html_dom.php"); 

$html = file_get_html($url);
Seit 3 Tagen hat die Webseite, welche ich überprüfe, die Verbindung irgendwie unterbunden. Ich kann keinen Quellcode mehr auslesen. Ich erhalte immer nur den Fehler:
Code:
failed to open stream: Connection refused
Im Internet etwas recherchiert und es gibt die Möglichkeit als Betreiber einer Webseite solche Verbindungen zu unterbinden. Um das ganze zu umgehen wurde empfohlen cURL zu verwenden und dabei kam folgendes raus:
Code:
include_once("simple_html_dom.php"); 

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $url);  
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);  
$str = curl_exec($curl);  
curl_close($curl);  
 
$html= str_get_html($str);
Das funktioniert mit anderen Seiten auch wunderbar, aber leider nicht bei der Seite wo ich es benötige.
Hat da jemand noch eine Idee, wie ich das umgehen kann?

Vielen Dank im Voraus.

MfG
09/19/2019 21:47 False#2
Ich bezweifel das die Seite den Aufruf unterbindet, das werden wohl die wenigsten Seiten machen, da wenn man z.B. file_get_content oder Curl nutzt ein normaler Aufruf erzeugt wird (ist als würdest du die Seite aufrufen). Es gibt zwar kleine Unterschiede, wie z.B. das du kein Browser Agent angegeben hast aber ich bezweifel das dies geprüft wird.

Um welche Seite geht es ?
09/20/2019 10:17 _robox#3
ich vermute das deine Server IP von anbiedre geblockt wird.
Da kann Mann kaum was machen.
09/20/2019 20:27 .Insane#4
Quote:
Originally Posted by _robox View Post
ich vermute das deine Server IP von anbiedre geblockt wird.
Da kann Mann kaum was machen.
Nach genauerer Prüfung ist genau das eingetretten. Die IP meines Servers wurde blockiert.

Hat jemand eine Idee was ich nun machen könnte um das zu umgehen?
09/20/2019 21:05 _robox#5
eine Möglichkeit wehre die Verwendung einer neuen IP Adresse das wehre aber nur eine kurzfristige Lösung denn früher oder später wird auch die neue IP geblockt.
Außerdem kannst du nicht sicher sein das der anbiedre ganze IP Blöcke sperrt.

Am besten du setzt dich mit den Anbiedert in Verbiegung das er deine IP wieder frei gibt.
09/20/2019 21:49 False#6
Quote:
Originally Posted by .Insane View Post
Nach genauerer Prüfung ist genau das eingetretten. Die IP meines Servers wurde blockiert.

Hat jemand eine Idee was ich nun machen könnte um das zu umgehen?
Gut zu wissen, diese Option habe ich nicht in betracht gezogen, da ich dachte das du es auch mal manuell per Browser versucht hast :D

Quote:
Originally Posted by _robox View Post
eine Möglichkeit wehre die Verwendung einer neuen IP Adresse das wehre aber nur eine kurzfristige Lösung denn früher oder später wird auch die neue IP geblockt.
Außerdem kannst du nicht sicher sein das der anbiedre ganze IP Blöcke sperrt.

Am besten du setzt dich mit den Anbiedert in Verbiegung das er deine IP wieder frei gibt.
Ich bezweifel das er die Ip wieder entsperrt bekommt (aus mehreren Gründen).
Kann höchstens wie du schon sagtest es mit einer anderen IP versuchen (sofern vorhanden) oder proxies nutzen.
09/20/2019 23:05 _robox#7
Quote:
Originally Posted by False View Post
Gut zu wissen, diese Option habe ich nicht in betracht gezogen, da ich dachte das du es auch mal manuell per Browser versucht hast :D.
Das wahre egal gewesen da bei abfragen über curl oder anglichen php Funktion immer die Server ip mit übermittele wird und nicht die Client IP.

Quote:
Originally Posted by False View Post
Ich bezweifel das er die Ip wieder entsperrt bekommt (aus mehreren Gründen).
Kann höchstens wie du schon sagtest es mit einer anderen IP versuchen (sofern vorhanden) oder proxies nutzen.
Auch wenn die Chancen nicht hoch ist würde ich es erst mal versuchen mich mit denn anbiedre zu zu einigen.

der weg über eine normalen proxy wird aller Voraussicht nicht klappen da er auch immer die Client IP (== Server IP) mit übertragt.

Eine anonymer Proxy oder eine VPN Verbindung könnte möglich seine
Nur bin ich nicht sicher ob das über eine Server so ohne weiteres möglich ist
09/21/2019 00:25 iMostLiked#8
Quote:
Originally Posted by _robox View Post
Eine anonymer Proxy oder eine VPN Verbindung könnte möglich seine
Nur bin ich nicht sicher ob das über eine Server so ohne weiteres möglich ist
Ist möglich. Sogar ziemlich einfach.


Für file_get_contents:
PHP Code:
$auth base64_encode('user:pass');
$data = [
    
'http' => [
        
'proxy'           => 'tcp://127.0.0.1:1337',
        
'request_fulluri' => true,
        
'header'          => "Proxy-Authorization: Basic $auth// Falls der Proxy keine Auth braucht, die Zeile hier entfernen
    
]
];
$context stream_context_create($data);

$response = @file_get_contents('https://elitepvpers.com/'false$context); 
oder für cURL:

PHP Code:
curl_setopt($chCURLOPT_PROXY'127.0.0.1:1337');
curl_setopt($chCURLOPT_PROXYUSERPWD'user:pass'); // Falls der Proxy keine Auth braucht, die Zeile hier entfernen 
09/21/2019 10:30 False#9
Quote:
Originally Posted by _robox View Post
Das wahre egal gewesen da bei abfragen über curl oder anglichen php Funktion immer die Server ip mit übermittele wird und nicht die Client IP.
Viele Entwickeln lokal, würde lokal das Script nicht funktionieren, er könnte die Seite aber immernoch mit dem Browser aufrufen wäre die IP logischerweise nicht gesperrt.
Evtl. verstehst du so was ich meinte ;)