<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Datei downloaden probleme mit dem HTTP Header]]></title><description><![CDATA[<p>Hallo<br />
ich hab ein Problem.. ich will mit winsock eine Datei von einem Server downloaden.<br />
würde ja auch gehen. doch ein problem gibt es leider. Wen man an einen Server ja eine Anfrage schickt, bekommt man noch einen HTTP Header nun ist mein Problem, wie ich den wegschneiden soll. nun mit einem recv() das vor dem eigentlichen Austausch aufgerufen wird geht das ja, doch leider ist der Header nicht immer gleich gross. Also, weiss jemand wie ich den Header wegschneiden könnte?</p>
<p>burnner</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/118637/datei-downloaden-probleme-mit-dem-http-header</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Jul 2026 11:18:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/118637.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Aug 2005 15:39:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Mon, 22 Aug 2005 15:39:08 GMT]]></title><description><![CDATA[<p>Hallo<br />
ich hab ein Problem.. ich will mit winsock eine Datei von einem Server downloaden.<br />
würde ja auch gehen. doch ein problem gibt es leider. Wen man an einen Server ja eine Anfrage schickt, bekommt man noch einen HTTP Header nun ist mein Problem, wie ich den wegschneiden soll. nun mit einem recv() das vor dem eigentlichen Austausch aufgerufen wird geht das ja, doch leider ist der Header nicht immer gleich gross. Also, weiss jemand wie ich den Header wegschneiden könnte?</p>
<p>burnner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856287</guid><dc:creator><![CDATA[burnner]]></dc:creator><pubDate>Mon, 22 Aug 2005 15:39:08 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Mon, 22 Aug 2005 16:24:58 GMT]]></title><description><![CDATA[<p>Der Header ist doch vom den Seitendaten mit \r\n\r\n getrennt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856316</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856316</guid><dc:creator><![CDATA[hn]]></dc:creator><pubDate>Mon, 22 Aug 2005 16:24:58 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Mon, 22 Aug 2005 16:37:15 GMT]]></title><description><![CDATA[<p>und wie kann ich das jetzt einbauen?<br />
ich empfange die Daten in einem char buffer.<br />
nur weiss ich jetzt nicht wie ich da den header genau auschneiden soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856326</guid><dc:creator><![CDATA[burnner]]></dc:creator><pubDate>Mon, 22 Aug 2005 16:37:15 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Mon, 22 Aug 2005 18:15:26 GMT]]></title><description><![CDATA[<p>so wäre ne möglichkeit</p>
<p>so in Http_All kommt der string der alle daten enthält<br />
in Http_Header hast du anschließend den header<br />
in Http_Data hast anschließend deine nutzdaten</p>
<pre><code class="language-cpp">std::string Http_Data;
  std::string::size_type qm = Http_All.find(&quot;\r\n\r\n&quot;);
  if (qm != std::string::npos) 
  {
    std::string Http_Header = Http_All.substr(0, qm);

    Http_Data = Http_All.substr(qm+1);
  }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/856381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856381</guid><dc:creator><![CDATA[Skippy]]></dc:creator><pubDate>Mon, 22 Aug 2005 18:15:26 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Mon, 22 Aug 2005 18:19:52 GMT]]></title><description><![CDATA[<p>ah ich vergass zu erwähnen.. es sind binäre dateien, also Programme und Bilder, darum hab ich da skrubel std::string zu verwenden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/856385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/856385</guid><dc:creator><![CDATA[burnner]]></dc:creator><pubDate>Mon, 22 Aug 2005 18:19:52 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 16:00:46 GMT]]></title><description><![CDATA[<p>oder gibt es eine andere Möglichkeit Dateien herunterzuladen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857046</guid><dc:creator><![CDATA[burnner]]></dc:creator><pubDate>Tue, 23 Aug 2005 16:00:46 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 17:05:51 GMT]]></title><description><![CDATA[<p>ich würd nicht erst die ganze antwort lesen und dann rausschneiden sondern immer die datenblöcke sofort parsen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857080</guid><dc:creator><![CDATA[fsm]]></dc:creator><pubDate>Tue, 23 Aug 2005 17:05:51 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 17:50:31 GMT]]></title><description><![CDATA[<p>ja aber ist die grösse des headers nicht variabel? und wie soll ich rausschneiden? soll ja binär bleiben damit man danach die exe datei wieder ausführen kann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857101</guid><dc:creator><![CDATA[burnner]]></dc:creator><pubDate>Tue, 23 Aug 2005 17:50:31 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 18:07:51 GMT]]></title><description><![CDATA[<p>ja ist variabel, aber du kennst ja den trenner.<br />
du kannst doch eine funktion schreiben die einen datenblock übergeben bekommt und dann guckt wieviel bytes davon zum header gehören und sich diese dann z.B. in einen std::string kopiert oder ignoriert. wenn der header dann irgendwann vollständig da ist, kannst du in einer statusvariablen speichern das du jetzt die eigentlichen daten empfangen willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857107</guid><dc:creator><![CDATA[fsm]]></dc:creator><pubDate>Tue, 23 Aug 2005 18:07:51 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 18:22:57 GMT]]></title><description><![CDATA[<p>ja aber naja am meisten probleme hab ich damit. Wen ich nun eine Char Variabel habe und weiss wo sich der header befindet, wie kann ich den nun rausschneiden?<br />
zum speichern nutze ich die fstream klasse. nur da kann man ja nur angeben wie viel gespeichert wird und nich von wo bis wo.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857116</guid><dc:creator><![CDATA[burnner]]></dc:creator><pubDate>Tue, 23 Aug 2005 18:22:57 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 18:28:08 GMT]]></title><description><![CDATA[<p>outfile.write(VonWo, Wieviel);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857118</guid><dc:creator><![CDATA[fsm]]></dc:creator><pubDate>Tue, 23 Aug 2005 18:28:08 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 19:14:21 GMT]]></title><description><![CDATA[<p>? write braucht doch ein (char*) da kann ich doch nicht einfach 2 zahlen angeben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857148</guid><dc:creator><![CDATA[burnner]]></dc:creator><pubDate>Tue, 23 Aug 2005 19:14:21 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 19:26:39 GMT]]></title><description><![CDATA[<p>du suchst im buffer nach dem trenner, dann weist du position<br />
dann könntest du es in einen neuen buffer kopieren (strncpy).<br />
wo happert es den genau. zeig doch mal deinen ansatz.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857154</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 23 Aug 2005 19:26:39 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 19:35:38 GMT]]></title><description><![CDATA[<p>So hab ich mir den Code fürs Parsen vorgestellt. Er ist höchstwahrscheinlich falsch und eventuell kann man es einfacher machen.</p>
<pre><code class="language-cpp">const unsigned int STATE_0 = 0;
const unsigned int STATE_R = 1;
const unsigned int STATE_RN = 2;
const unsigned int STATE_RNR = 3;
const unsigned int STATE_RNRN = 4;

unsigned int state = STATE_0;

void parse(const char* pBuffer, size_t bufferSize)
{
	for(size_t i = 0; i &lt; bufferSize; ++i)
	{
		if(pBuffer[i] == '\r')
		{
			if(state == STATE_0)
			{
				state = STATE_R;
			}
			else if(state == STATE_RN)
			{
				state = STATE_RNR;
			}
			else
			{
				state = STATE_0;
			}
		}
		else if(pBuffer[i] == '\n')
		{
			if(state == STATE_R)
			{
				state = STATE_RN;
			}
			else if(state == STATE_RNR)
			{
				state = STATE_RNRN;
			}
			else
			{
				state = STATE_0;
			}
		}
		else
		{
			state = STATE_0;
		}

		if(state == STATE_RNRN)
		{
			std::cout &lt;&lt; &quot;Header complete&quot; &lt;&lt; std::endl;
			break;
		}
	}
}
</code></pre>
<p>Ich wüsste nicht wie man es sonst machen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857157</guid><dc:creator><![CDATA[fsm]]></dc:creator><pubDate>Tue, 23 Aug 2005 19:35:38 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 19:48:52 GMT]]></title><description><![CDATA[<p>Hi all,</p>
<p>wozu den ganze Stress???</p>
<p>Wenn du von einer URL eine Datei downloaden willst, benutze einfach die Funktion<br />
&quot;URLDownloadToFileA()&quot; aus &quot;urlmon.dll&quot;</p>
<p>geht viel einfacher <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/857166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857166</guid><dc:creator><![CDATA[Keine Ahnung]]></dc:creator><pubDate>Tue, 23 Aug 2005 19:48:52 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 19:52:28 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char buffer[1000];
char buffer2[1000];

rc=recv(s,buffer,1000,0);
temp = buffer;
pos = temp.find(&quot;\r\n\r&quot;);

if(pos != std::string::npos)
{
	temp.erase(0, pos + 4);
	strcpy(buffer2, (char*)temp.c_str());
	out.write((char*)buffer2, temp.length());
}
</code></pre>
<p>das ist mein ansatzt, funktioniert eben wie erwartet nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857168</guid><dc:creator><![CDATA[burnner]]></dc:creator><pubDate>Tue, 23 Aug 2005 19:52:28 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 19:54:09 GMT]]></title><description><![CDATA[<p>Also schau mal hier:</p>
<p><a href="http://msdn.microsoft.com/workshop/networking/moniker/reference/functions/urldownloadtofile.asp" rel="nofollow">http://msdn.microsoft.com/workshop/networking/moniker/reference/functions/urldownloadtofile.asp</a></p>
<p>Grüß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857169</guid><dc:creator><![CDATA[Keine Ahnung]]></dc:creator><pubDate>Tue, 23 Aug 2005 19:54:09 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 19:56:32 GMT]]></title><description><![CDATA[<p>burnner es ist nicht garantiert das \r\n\r\n in genau einem Aufruf von recv bekommst. Es könnte im &quot;schlimmsten&quot; Fall sein das du mit jedem Aufruf von recv nur ein Zeichen bekommst.</p>
<p>Aber ich glaub du benutzt besser die Funktionen aus der WinInet Library. InternetXXX.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857173</guid><dc:creator><![CDATA[fsm]]></dc:creator><pubDate>Tue, 23 Aug 2005 19:56:32 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 20:01:11 GMT]]></title><description><![CDATA[<p>Keine Ahnung scheint Ahnung zu haben wie man es sich einfach macht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/857178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857178</guid><dc:creator><![CDATA[fsm]]></dc:creator><pubDate>Tue, 23 Aug 2005 20:01:11 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 20:02:21 GMT]]></title><description><![CDATA[<p>so:</p>
<p>char url[] = &quot;http:/bla.com/source.exe&quot;;<br />
char file[] = &quot;C:\\destin.exe&quot;;</p>
<p>URLDownloadToFile(NULL, url, file, NULL, NULL);</p>
<p>irgenwie so muss es in C++ aussehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>sorry aber ich komme aus win32-Assemblerprogrammierer-Welt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/857180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857180</guid><dc:creator><![CDATA[Keine Ahnung]]></dc:creator><pubDate>Tue, 23 Aug 2005 20:02:21 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 20:06:55 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if(pos != std::string::npos)
{
	temp.erase(0, pos + 4);
//	strcpy(buffer2, (char*)temp.c_str());
	out.write((char*)temp.c_str(), temp.length());
}
</code></pre>
<p>hat aber nichst mit dem allgemeinen problem zu tun das schon angesprochen wurde.<br />
ich weis auch nicht in wie weit bei deinem download die null terminierung eine<br />
rolle spielt. ich würde dir auch zu den winapi funktionen raten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857185</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 23 Aug 2005 20:06:55 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 20:08:42 GMT]]></title><description><![CDATA[<p>Keine Ahnung schrieb:</p>
<blockquote>
<p>so:</p>
<p>char url[] = &quot;http:/bla.com/source.exe&quot;;<br />
char file[] = &quot;C:\\destin.exe&quot;;</p>
<p>URLDownloadToFile(NULL, url, file, NULL, NULL);</p>
<p>irgenwie so muss es in C++ aussehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>sorry aber ich komme aus win32-Assemblerprogrammierer-Welt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Selbstverständlich muss die dll erst in den Speicher geladen, und die Funktion gefunden werden:</p>
<p>LoadLibrary();<br />
GetProcAddress();</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857188</guid><dc:creator><![CDATA[Keine Ahnung]]></dc:creator><pubDate>Tue, 23 Aug 2005 20:08:42 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 20:21:11 GMT]]></title><description><![CDATA[<blockquote>
<p>Selbstverständlich muss die dll erst in den Speicher geladen, und die Funktion gefunden werden:</p>
<p>LoadLibrary();<br />
GetProcAddress();</p>
</blockquote>
<p>Hallo fremder!<br />
Wir haben dafür urlmon.lib.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857197</guid><dc:creator><![CDATA[lib]]></dc:creator><pubDate>Tue, 23 Aug 2005 20:21:11 GMT</pubDate></item><item><title><![CDATA[Reply to Datei downloaden probleme mit dem HTTP Header on Tue, 23 Aug 2005 20:26:03 GMT]]></title><description><![CDATA[<p>lib schrieb:</p>
<blockquote>
<blockquote>
<p>Selbstverständlich muss die dll erst in den Speicher geladen, und die Funktion gefunden werden:</p>
<p>LoadLibrary();<br />
GetProcAddress();</p>
</blockquote>
<p>Hallo fremder!<br />
Wir haben dafür urlmon.lib.</p>
</blockquote>
<p>Und wir (ASM-Progger) haben es nicht immer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Besonderes wenns um Shellcodeprogrammierung geht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Am sonsten gehts dann noch einfacher <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> hast du Recht<br />
Grüß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/857202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/857202</guid><dc:creator><![CDATA[Keine Ahnung]]></dc:creator><pubDate>Tue, 23 Aug 2005 20:26:03 GMT</pubDate></item></channel></rss>