php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.05.2010, 01:24  
Benutzer
 
Registriert seit: 27.07.2009
Beiträge: 65
PHP-Kenntnisse:
Anfänger
Thoresus befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] HTTP Request: mit Java funktionierts, mit PHP nicht

Hallo,

Ich würde gerne mit PHP eine Seite aufrufen, um deren Inhalt zu parsen. Ich habe es mit folgendem Code versucht:

PHP-Code:
function GetHttp()
{
    do {
        
$fp fsockopen("example.com"80);
    } while(!
$fp);
    
fputs($fp"GET / HTTP/1.1\r\n");
    
fputs($fp"Host: example.com:23575\r\n");
    
fputs($fp"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3\r\n");
    
fputs($fp"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
    
fputs($fp"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7");
    
fputs($fp"Keep-Alive: 300\r\n");
    
fputs($fp"\r\n");

    while(!
feof($fp))
      
$res .= fgets($fp128);
      
    
fclose($fp);
    return 
$res;
}

echo 
GetHttp(); 
Zurück geliefert wird nur der HTTP-Header, aber kein Inhalt...

Wenn ich das Ganze mit Java umsetze, klappt es:

Code:
public static void main( String[] args ) throws Exception{
		URL requestUrl = new URL("http://server6.digital-webstream.de:23575/");
        
		URLConnection con = requestUrl.openConnection();
		con.setRequestProperty("accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
		con.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3");
		con.setRequestProperty("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");
		
		con.connect();

		BufferedReader in = new BufferedReader(
					new InputStreamReader(
					con.getInputStream()));
					
		String decodedString;

		while ((decodedString = in.readLine()) != null) {
		    System.out.println(decodedString);
		}
		in.close();

		
	}
Meiner Meinung nach, sollten da die gleichen Header gesendet werden. Habe ich einen Denkfehler gemacht?

Thoresus

PS: natürlich wird eine andere Seite als example.com aufgerufen...

Geändert von Thoresus (01.05.2010 um 01:29 Uhr).
Thoresus ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.05.2010, 02:55  
Erfahrener Benutzer
 
Registriert seit: 09.03.2009
Beiträge: 145
PHP-Kenntnisse:
Fortgeschritten
jGeee befindet sich auf einem aufstrebenden Ast
Standard

hab mir dein php script jetzt nicht angesehen, aber vllt hilft dir das weiter:

PHP-Code:
$ch curl_init("http://www.example.com/");
$fp fopen("example_homepage.txt""w");

curl_setopt($chCURLOPT_FILE$fp);
curl_setopt($chCURLOPT_HEADER0);

curl_exec($ch);
curl_close($ch);
fclose($fp); 
http://www.php.net/manual/de/curl.examples-basic.php

gute nacht - meld mich morgen nochmal und teste dein snippet - falls es nicht jemand anderes schon tut
jGeee ist offline  
Alt 01.05.2010, 10:35  
Erfahrener Benutzer
 
Registriert seit: 06.04.2009
Beiträge: 251
PHP-Kenntnisse:
Fortgeschritten
BlackSpirit befindet sich auf einem aufstrebenden Ast
BlackSpirit eine Nachricht über MSN schicken
Standard

Hi,

Zitat:
Zurück geliefert wird nur der HTTP-Header, aber kein Inhalt...
bei funktioniert dein Script richtig, also es wird header und content ausgegeben.

HTML-Code:
HTTP/1.1 200 OK
Date: Sat, 01 May 2010 08:34:34 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
ETag: "24ec5-1b6-4059a80bfd280"
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; charset=UTF-8

<HTML>
<HEAD>
  <TITLE>Example Web Page</TITLE>
</HEAD> 
<body>  
<p>You have reached this web page by typing &quot;example.com&quot;,
&quot;example.net&quot;,
  or &quot;example.org&quot; into your web browser.</p>

<p>These domain names are reserved for use in documentation and are not available 
  for registration. See <a href="http://www.rfc-editor.org/rfc/rfc2606.txt">RFC 
  2606</a>, Section 3.</p>
</BODY>
</HTML> 
BlackSpirit ist offline  
Alt 01.05.2010, 14:06  
Benutzer
 
Registriert seit: 27.07.2009
Beiträge: 65
PHP-Kenntnisse:
Anfänger
Thoresus befindet sich auf einem aufstrebenden Ast
Standard

Ja, das habe ich auch gerade bemerkt

Dann liegt es wohl daran, dass ich auf dem anderen Server einen anderen Port ansprechen will, als den 80iger... Ich probier mal weiter. Hat jemand sowas schon mal gemacht? (einen anderen Port angesprochen)

Thoresus
Thoresus ist offline  
Alt 01.05.2010, 14:10  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Wo liegt das Problem?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 01.05.2010, 21:09  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 276
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Thoresus Beitrag anzeigen
Ja, das habe ich auch gerade bemerkt

Dann liegt es wohl daran, dass ich auf dem anderen Server einen anderen Port ansprechen will, als den 80iger... Ich probier mal weiter. Hat jemand sowas schon mal gemacht? (einen anderen Port angesprochen)

Thoresus
Schau mal bei deinem Code folgende Zeile an:
PHP-Code:
$fp fsockopen("example.com"80); 
Das sollte alles erklären, wie man einen anderen Port als den 80er anspricht.

PS: Den Host musst du natürlich dann auch noch entsprechend ändern.
ChrisvA ist offline  
Alt 01.05.2010, 22:08  
Benutzer
 
Registriert seit: 27.07.2009
Beiträge: 65
PHP-Kenntnisse:
Anfänger
Thoresus befindet sich auf einem aufstrebenden Ast
Standard

Habe ich auch schon gedacht, aber es funktioniert immer noch nicht. ich bekomme immer eine Fehlermeldung:
Code:
Warning: fsockopen() [function.fsockopen]: unable to connect to server6.digital-webstream.de:23575 (Connection timed out)
Ich weiss nicht, was ich noch probieren könnte.
Thoresus ist offline  
Alt 01.05.2010, 22:17  
Erfahrener Benutzer
 
Registriert seit: 10.01.2010
Beiträge: 276
PHP-Kenntnisse:
Fortgeschritten
ChrisvA befindet sich auf einem aufstrebenden Ast
Standard

Was hast du du eingegeben? Das hier?
$fp = fsockopen("server6.digital-webstream.de:23575", 80);

Versuch es mal so:
$fp = fsockopen("server6.digital-webstream.de", 23575);
ChrisvA ist offline  
Alt 01.05.2010, 23:00  
Benutzer
 
Registriert seit: 27.07.2009
Beiträge: 65
PHP-Kenntnisse:
Anfänger
Thoresus befindet sich auf einem aufstrebenden Ast
Standard

Ja ja, das habe ich schon probiert.

Hier die aktuelle Version meines Skripts:
PHP-Code:
function GetHttp()
{
    do {
        
fsockopen("server6.digital-webstream.de"23575);
    } while(!
$fp);
    
fputs($fp"GET /index.html HTTP/1.1\r\n");
    
fputs($fp"Host: server6.digital-webstream.de:23575\r\n");
    
fputs($fp"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3\r\n");
    
fputs($fp"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
    
fputs($fp"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7");
    
fputs($fp"Keep-Alive: 300\r\n");
    
fputs($fp"\r\n");

    while(!
feof($fp))
      
$res .= fgets($fp128);
      
    
fclose($fp);
    return 
$res;
}

echo 
GetHttp(); 
Die Antwort:

Code:
Warning: fsockopen() [function.fsockopen]: unable to connect to server6.digital-webstream.de:23575 (Connection timed out)
Thoresus ist offline  
Alt 01.05.2010, 23:16  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zitat:
PHP-Code:
 do {
        
fsockopen("server6.digital-webstream.de"23575);
    } while(!
$fp); 
Wo soll denn $fp herkommen, Deiner Meinung nach?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
file_get_contents failed to open stream: HTTP request failed mantir PHP Tipps 2009 8 08.02.2009 20:03
Was ist mit GET http request gemeint? cyberholic PHP Tipps 2008 6 03.05.2008 12:09
HTTP Request über Proxyserver leiten blaus PHP-Fortgeschrittene 4 04.04.2008 07:59
php oder java? resturan Off-Topic Diskussionen 1 24.04.2006 09:45
HTTP Request per PHP lahmt, Rückgabe nur NULL Schaelle PHP-Fortgeschrittene 0 21.09.2005 16:42
HTTP request failed! HTTP/1.1 403 Forbidden in... PHP Tipps 2005-2 5 04.07.2005 01:46
[Erledigt] HTTP Request absetzen und Antwort auswerten PHP-Fortgeschrittene 1 02.07.2005 13:16
HTTP request failed! PHP Tipps 2005-2 20 19.06.2005 02:28
script nicht über HTTP Request seven-12 PHP Tipps 2005-2 6 10.06.2005 12:45
php script nicht über HTTP Request starten seven-12 PHP-Fortgeschrittene 3 09.06.2005 22:14
HTTP request failed! HTTP/1.1 500 Internal Server Error Datenbanken 6 28.01.2005 14:54
HTTP Login Request PHP Tipps 2004-2 1 16.12.2004 12:30
HTTP Request - hilfe dringend benötigt! PHP Tipps 2004-2 3 09.11.2004 20:23
Shoutcast server abfrage mittels ein http header request PHP Tipps 2004 0 30.10.2004 18:05
HTTP - Request Stümper PHP Tipps 2004 7 27.08.2004 22:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
java http request, http request java, httprequest java, java httprequest, java http request example, java request, java request url, java php request, java web request, java http request user agent, java http request get, php http request example, java http request absetzen, java http get request example, request java, java http get request, java http get example, http-request java, http request in java, request php

Alle Zeitangaben in WEZ +1. Es ist jetzt 22:22 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum