jo, weil das c/c++ ist.... in php funzt dat ja easy mit header() will aber gerade n http-server in c/c++ schreiben,... (auch andere prot's kommt abba noch..)
rfc2617 habe ich mir auch schon angsehen, aber der will net so wirklich...
hier mal n kleiner futzel des codes...
|
C Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
tnewclient[i].recvbuffer[rc]='\0';
// daten ausgeben und eine antwort senden
printf("Client %d hat folgendes gesandt: %s\n",i,buf);
text=newclient[i].recvbuffer;
pos=text.find("HTTP");
if(pos!=string::npos)
{
text="HTTP/1.1 401 Unauthorized\n";
text+="WWW-Authenticate: Digest\n";
text+="realm=\"testrealm@host.com\"\n";
text+="qop=\"auth,auth-int\"\n";
text+="nonce=\"dcd98b7102dd2f0e8b11d0f600bfb0c093\"\n";
text+="opaque=\"5ccc069c403ebaf9f0171e9517f40e41\"\n";
cout<<"Sende:"<<text<<endl;
// antwort senden
send(newclient[i].CSocket,text.c_str(),text.length(),0);
closesocket(newclient[i].CSocket);
newclient[i].CSocket=INVALID_SOCKET;
}
|
der browser zeigt mir ja noch net ma quellcode an
mfg
___________________________________________________________________
EDIT:
k,.. nicht mit
|
C Quellcode
|
1
|
"\n"
|
sondern mit
|
C Quellcode
|
1
|
"\r\n"
|
abschliessen,..
also so:
|
C Quellcode
|
1
2
3
4
5
6
7
|
text="HTTP/1.1 401 Unauthorized\r\n";
text+="WWW-Authenticate: Digest ";
text+="realm=\"testrealm@host.com\"";
text+=" qop=\"auth,auth-int\"";
text+=" nonce=\"dcd98b7102dd2f0e8b11d0f600bfb0c093\"";
text+=" opaque=\"5ccc069c403ebaf9f0171e9517f40e41\"\r\n";
|
funzt jetzt...