使用spring-web類庫實現httpget和httppost請求響應

好消息,百度網盤專業搜索網站上線了
打開瞧一瞧:[url]http://bitar.cn[/url]



import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.charset.Charset;

import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.client.ClientHttpRequest;
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.http.client.SimpleClientHttpRequestFactory;

public class Test {

public static void main(String[] args) throws IOException, URISyntaxException {
String url = "https://www.baidu.com/img/bd_logo1.png";
//①創建Http Request(內部使用HttpURLConnection)
ClientHttpRequest request =
new SimpleClientHttpRequestFactory().
createRequest(new URI(url), HttpMethod.GET);
//②設置客戶端可接受的媒體類型(即需要什麼類型的響應體數據)
request.getHeaders().set("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0");
// request.getHeaders().set("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
// request.getHeaders().set("Connection", "keep-alive");
// request.getHeaders().set("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3");
//③發送請求並得到響應
ClientHttpResponse response = request.execute();
if (response.getStatusCode()==HttpStatus.OK) {
System.out.println("ok");
}
InputStream is = response.getBody();
//BufferedReader讀取字符串
// BufferedReader br = new BufferedReader(new InputStreamReader(is,"utf-8"));
// String tempLine = br.readLine();
// StringBuffer tempStr = new StringBuffer();
// String crlf = System.getProperty("line.separator");
// while (tempLine != null) {
// tempStr.append(tempLine);
// tempStr.append(crlf);
// tempLine = br.readLine();
// }
// br.close();
// is.close();
// System.out.println(tempStr);

//讀取字節,再轉爲爲字符串或者流
byte bytes[] = new byte[(int)response.getBody().available()];
is.read(bytes);
FileOutputStream fos=new FileOutputStream(new File("f:/a.png"));
fos.write(bytes,0,bytes.length);
fos.flush();
fos.close();
String xmlData = new String(bytes, Charset.forName("utf-8"));
System.out.println(xmlData);

}



}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章