傳送下列二個命令,就可以讓 browser 跳出驗證視窗。
fprintf(f, "HTTP/1.0 401 Unauthorized\n");
fprintf(f, "WWW-Authenticate: Basic realm=\"Web Server Authentication\"\n");

輸入後,browser回傳給主機為 "Authorization: Basic cm9vdDoxMjM0NTY3ODkw"。
Basic 後面字串經由 base64 編碼,解出後為 userid:password。

只要 browser 不關掉,以後所有的連線都會帶有這個字串,所以不用擔心 timeout 等問題,只要每次檢查密碼存不存在即可。

GET /hda/www/cgi-bin/test.cgi?test=123 HTTP/1.1

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint,application/msword, */*

Referer: http://192.168.1.10/./hda/signage
Accept-Language: zh-tw
Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)

Host: 192.168.1.10
Connection: Keep-Alive
Authorization: Basic cm9vdDoxMjM0NTY3ODkw

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()