<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[devshare.de - C++ Webseite einlesen - Nachricht an den Server?]]></title>
	<link rel="self" href="http://devshare.de/feed/atom/topic/41506/"/>
	<updated>2007-12-08T14:50:49Z</updated>
	<generator>PunBB</generator>
	<id>http://devshare.de/topic/41506/c-webseite-einlesen-nachricht-an-den-server/</id>
		<entry>
			<title type="html"><![CDATA[Re: C++ Webseite einlesen - Nachricht an den Server?]]></title>
			<link rel="alternate" href="http://devshare.de/post/47078/#p47078"/>
			<content type="html"><![CDATA[<p>Ich habe eben gefunden, wie man den Header gestalten sollte: <a href="http://web-sniffer.net/?url=http%3A%2F%2Fwww.fritz.de%2F_%2Faudios%2Fjingles_jsp.html&amp;submit=Submit&amp;http=1.0h&amp;type=GET&amp;uak=5">http://web-sniffer.net/?url=http%3A%2F% &#133; &amp;uak=5</a></p><p>Hier findet man einen Request inkl. Antwort.<br />Ich vermute, dass vor der Angabe des Hosts die Zeile umgebrochen werden muss und ggf. die ein oder andere Header angabe fehlt.<br />Probier ich gleich mal aus <img src="http://devshare.de/img/smilies/wink.png" width="15" height="15" alt="wink" /> Ich melde mich nichtmehr, falls ich richtig liege ^^</p>]]></content>
			<author>
				<name><![CDATA[t/f]]></name>
				<uri>http://devshare.de/user/3091/</uri>
			</author>
			<updated>2007-12-08T14:50:49Z</updated>
			<id>http://devshare.de/post/47078/#p47078</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[C++ Webseite einlesen - Nachricht an den Server?]]></title>
			<link rel="alternate" href="http://devshare.de/post/47077/#p47077"/>
			<content type="html"><![CDATA[<p>Hey Leute!</p><p>Ich möchte einen kleinen Client schreiben, der eine Webseite liest und mir Links, die auf der Seite stehen in eine Liste schreibt.<br />Soweit funktioniert alles ganz gut, nur habe ich Probleme bei der Kommunikation mit den Webservern.</p><p>Mein Client sieht vom prinzipiellen Aufbau aus wie <a href="http://www.it-helpnet.de/Dokumente/Programmierung/C%20und%20Cpp/Tipps%20zur%20Socket-Programmierung.html#client">dieser hier</a>.</p><p>Vor der Zeile </p><div class="quotebox"><blockquote><p>bytes = recv(sock, buffer, sizeof(buffer) - 1, 0);</p></blockquote></div><p>schicke ich eine Nachricht an den Server.<br />Das sieht so aus:</p><div class="quotebox"><blockquote><p>const char* request = ( &quot;GET &quot; + <span style="color: blue">pfad</span> + &quot; HTTP/1.0 Host: &quot; + <span style="color: green">host</span> + &quot;\r\n\r\n&quot; ).c_str(); <br />send(sock, request, strlen( request ), 0);</p></blockquote></div><p>Dabei habe ich einen URL wie beispielsweise http://<span style="color: green"><a href="http://www.fritz.de">www.fritz.de</a></span><span style="color: blue">/_/audios/jingles_jsp.html</span> vorher schon korrekt zerlegt.<br />Ich frag mich nur gerade, ob meine Nachricht an den Server Blödsinn ist. Ich bekomme beispielsweise bei der hier angegebenen Adresse folgende Nachricht vom Server:</p><div class="quotebox"><blockquote><p>HTTP/1.1 302 Found<br />Date: Sat, 08 Dec 2007 13:09:13 GMT<br />Server: Apache/2.0.49 (Linux/SuSE)<br />Location: <a href="http://www.fritz.de">http://www.fritz.de</a><br />Content-Length: 288<br />Connection: close<br />Content-Type: text/html; charset=iso-8859-1</p><p>&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML 2.0//EN&quot;&gt;<br />&lt;html&gt;&lt;head&gt;<br />&lt;title&gt;302 Found&lt;/title&gt;<br />&lt;/head&gt;&lt;body&gt;<br />&lt;h1&gt;Found&lt;/h1&gt;<br />&lt;p&gt;The document has moved &lt;a href=&quot;http://www.fritz.de&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;<br />&lt;hr /&gt;<br />&lt;address&gt;Apache/2.0.49 (Linux/SuSE) Server at 192.108.72.30 Port 80&lt;/address&gt;<br />&lt;/body&gt;&lt;/html&gt;</p></blockquote></div><p>Sende ich den gleichen request wie folgt...</p><br /><div class="quotebox"><blockquote><p>const char* request = ( &quot;GET &quot; + <span style="color: blue">pfad</span> + &quot; HTTP/1.1 Host: &quot; + <span style="color: green">host</span> + &quot;\r\n\r\n&quot; ).c_str(); <br />send(sock, request, strlen( request ), 0);</p></blockquote></div><p>... also mit dem Eintrag HTTP/1.1 kriege ich sogar gesagt, dass mein Request nicht passt.</p><div class="quotebox"><blockquote><p>HTTP/1.1 400 Bad Request<br />Date: Sat, 08 Dec 2007 13:08:33 GMT<br />Server: Apache/2.0.49 (Linux/SuSE)<br />Content-Length: 311<br />Connection: close<br />Content-Type: text/html; charset=iso-8859-1</p><p>&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML 2.0//EN&quot;&gt;<br />&lt;html&gt;&lt;head&gt;<br />&lt;title&gt;400 Bad Request&lt;/title&gt;<br />&lt;/head&gt;&lt;body&gt;<br />&lt;h1&gt;Bad Request&lt;/h1&gt;<br />&lt;p&gt;Your browser sent a request that this server could not understand.&lt;br /&gt;<br />&lt;/p&gt;<br />&lt;hr /&gt;<br />&lt;address&gt;Apache/2.0.49 (Linux/SuSE) Server at 192.108.72.30 Port 80&lt;/address&gt;<br />&lt;/body&gt;&lt;/html&gt;</p></blockquote></div><p>Was erwartet der Server von meinem Client für Nachrichten, dass das passt?<br />Kann mir da jemand helfen?</p>]]></content>
			<author>
				<name><![CDATA[t/f]]></name>
				<uri>http://devshare.de/user/3091/</uri>
			</author>
			<updated>2007-12-08T14:16:29Z</updated>
			<id>http://devshare.de/post/47077/#p47077</id>
		</entry>
</feed>
