一、URL,统一资源定位器。指向互联网上的“资源”,可协议名、主机、端口和资源组成
如: http://username:password@host:8080/directory/file?query#ref
:
Component | Example value | Also known as |
---|---|---|
Protocol | http | scheme |
Authority | username:password@host:8080 | |
User Info | username:password | |
Host | host | |
Port | 8080 | |
File | /directory/file?query | |
Path | /directory/file | |
Query | query | |
Ref | ref | fragment |
步骤1:创建 URL
URL url = new URL (urlString);
步骤2:为
specificURL
获得用户名称和密码
theUsername、thePassword
步骤3:将它们放入String并用冒号":"分开
String userPassword = theUsername + ":" + thePassword;
步骤4:对字符串进行编码
String encoding = new sun.misc.BASE64Encoder().encode (userPassword.getBytes());
步骤5: 通过 URL 创建 URLConnection
URLConnection uc = url.openConnection();
步骤6:为URLConnection 设置“授权”要求属性
uc.setRequestProperty ("Authorization", "Basic " + encoding);
读取数据流。。。。。。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Test{
public static void main(String[] args) throws IOException{
//1.找水源--创建URL
URL url = new URL("http://:pass@192.168.1.2/login?username=user1");
//2.开水闸--openconnection
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
//3.建管道--InputStream
InputStream inputStream = httpURLConnection.getInputStream();
//4.建蓄水池蓄水--InputStreamReader
InputStreamReader reader = new InputStreamReader(inputStream,"UTF-8");
//5.水桶装水--BufferedReader
BufferedReader bufferedReader = new BufferedReader(reader);
StringBuffer stringBuffer = new StringBuffer();
String temp = null;
while ((temp=bufferedReader.readLine())!=null){
stringBuffer.append(temp);
}
bufferedReader.close();
reader.close();
inputStream.close();
System.out.printf("%s",stringBuffer.toString());
}
}