如何在c / c ++ /命令行中访问需要http身份验证的URL?

时间:2010-10-28 13:08:56

标签: http-authentication

http://admin:123456@192.168.1.178/videostream.cgi

要访问不需要http身份验证的网址,这很容易:

telnet 192.168.1.178 80
Get /videostream.cgi HTTP/1.1
Accept: text/html;text/plain

User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13
Connection: close

但是如何指定admin:123456

2 个答案:

答案 0 :(得分:1)

请参阅RFCThis Wikipedia article

使用Wireshark或其他局域网嗅探器来观看浏览器和服务器在您使用嵌入式凭据(例如http://admin:123456@192.168.1.178/videostream.cgi

答案 1 :(得分:1)

对于basic authentication,您将用户名和密码指定为username:password,然后对其进行Base64编码并将其用作Authentication标题的参数:

Authorization: Basic YXNkZjoxMjM0

YXNkZjoxMjM0解码为asdf:1234;我使用curl -u adsf:1234(指定用户名“asdf”和密码“1234”)来生成此结果。