/**
*
*/
package test.client;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.entity.ContentType;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.junit.Test;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
/**
* @author dzh
* @date Feb 12, 2015 9:36:36 AM
* @since 1.0
*/
public class TestHttpClientService {
public void testException() {
try {
throwExcep();
} catch (Exception e) {
e.printStackTrace();
}
}
public void throwExcep() throws Exception {
try {
throw new Exception("xxx");
} finally {
System.out.println("throw E");
}
}
static final Gson GSON = new GsonBuilder().create();
public void testJson() {
try {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpHost target = new HttpHost("120.27.182.142", 80, HttpHost.DEFAULT_SCHEME_NAME);
HttpRequestBase request = new HttpPost(target.toURI() + "/mry/usr/qryusr");
request.addHeader("Api-Token", "76067");
String data = "";
// ((HttpPost) request).setEntity(new StringEntity(data,
// ContentType.create("text/plain", "utf-8")));
CloseableHttpResponse resp = httpClient.execute(request);
HttpEntity entity = resp.getEntity();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
InputStream is = entity.getContent();
byte[] buf = new byte[32];
int len = 0;
while ((len = is.read(buf)) != -1) {
baos.write(buf, 0, len);
}
String str = new String(baos.toByteArray(), "utf-8");
for (byte b : baos.toByteArray()) {
System.out.print(b);
System.out.print(' ');
}
Reader reader = new InputStreamReader(entity.getContent(), ContentType.getOrDefault(entity).getCharset());
// TODO decode by mime-type
Map<String, String> rspMap = GSON.fromJson(reader, HashMap.class);
String usrJson = rspMap.get("usr");
Map<String, Object> usr = GSON.fromJson(usrJson, HashMap.class);
System.out.println(usr.get("id").toString() + usr.get("name"));
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testEncode() throws UnsupportedEncodingException {
String url = "localhost/test?a=2016-07-08&b=11";
url = "http://testfirmware.blob.core.chinacloudapi.cn/channeltag/D453A67FF91F425A85AD6025CECE0685.gz?sp=rwdl&sr=c&sv=2014-02-14&se=2021-07-18T08%3A56%3A32Z&st=2016-07-18T08%3A56%3A32Z&sig=TnMMnXQvf0RnEQ53PcWk1qFfle8Erv2QO%2FAhobO%2BPQQ%3D";
System.out.println(url.length());
System.out.println(URLEncoder.encode(url, "utf-8"));
}
}