Frage von panakotta00, 26

[C++/Socket/HTTP Request] Was stimmt nicht?

Hi Leute ich mach grad einen Discord Client. Das ist eine REST API und deshalb programmiere ich mir einen HTTP Client. Ich möchte folgenden request mit verbindung zu "discordapp.com"nutzen

GET / HTTP/1.1\r\nHost: discordapp.com\r\n\r\n

mit curl funktioniert er problemlos. Aber mit meinem client erhalte ich den 301 Error. Was ist los?

Discord_Client.cpp http://pastebin.com/jCW6Q7v0

Discord_Client.h "/adi4DRDZ

Main.cpp "/HARnjGUP

Mein Output:

HTTP/1.1 301 Moved Permanently
Date: Mon, 12 Sep 2016 17:27:51 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: __cfduid=d1bbadaafc0dc668e0cb671bdf49929311473701271;
expires=Tue, 12-Sep-17 17:27:51 GMT; path=/; domain=.discordapp.com; HttpOnly
Location: <a href="https://discordapp.com/">https://discordapp.com/</a>
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Via: 1.1 google
Server: cloudflare-nginx
CF-RAY: 2e1512930c332780-FRA

[...]
Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von praestant, 14

Wie der Errorname schon sagt ist die seite "moved permanently"! Dass heißt das was du suchst, ist woanders.

Wenn du mal beim Location-Tag im Response nachschaust siehst du auch dass der probiert, dich weiterzuleiten. Und zwar auf die SLL-Verschlüsselte Version!

Also würde ich mal schauen, dass du über SSL verbindest. "curl" kann das offensichtlich builtin.

Expertenantwort
von TeeTier, Community-Experte für programmieren, 7

Das ist kein "Error" sondern ein normaler Statuscode, der dir ganz klar von einer Umleitung erzählt. :)

Einfach einen zweiten Request mit der Adresse im Location-Header absetzen, und fertig! :)

Curl macht das auch nicht anders!

Viel Erfolg! :)

Keine passende Antwort gefunden?

Fragen Sie die Community