通常、勉強したり仕事をしたりしていると、対応するデータを取得するためのインターフェイスに遭遇します。これには、post リクエストや get リクエストも含まれます。対応するツールを以下に示します。
1. Java コードは get リクエストの送信を実装します。
public static String getpage(String tempurl,String bm,String token ) {
String result="";
try {
URL url = new URL(tempurl);
InputStream is = null;
URLConnection con=url.openConnection();
con.addRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
con.setConnectTimeout(120000);
con.setReadTimeout(120000);
con.addRequestProperty("x-access-token",token);
con.connect();
try {
is = con.getInputStream();
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(is,bm));
String s="";
String linesep = System.getProperty("line.separator");
while((s = reader.readLine())!=null){
result += s+linesep ;
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}finally {
if (reader != null) {
try {
reader.close();
} catch (Exception e1) {
}
}
}
is.close();
}catch (FileNotFoundException e2) {
;
}
} catch (Exception e1) {
e1.printStackTrace();
}
return result;
}
2、ポストリクエストを送信するための Java コード
private static final Logger logger = LoggerFactory.getLogger(HttpUtil.class);
public static String sendPost(JSONObject json, String URL,String token) {
CloseableHttpClient client = HttpClients.createDefault();
HttpPost post = new HttpPost(URL);
post.setHeader("Content-Type", "application/json");
post.setHeader("Authorization", "Basic YWRtaW46");
post.setHeader("x-access-token",token);
String result;
try {
StringEntity s = new StringEntity(json.toString(), "utf-8");
s.setContentType(new BasicHeader(HTTP.CONTENT_TYPE,
"application/json"));
post.setEntity(s);
// 发送请求
HttpResponse httpResponse = client.execute(post);
// 获取响应输入流
InputStream inStream = httpResponse.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(
inStream, "utf-8"));
StringBuilder strber = new StringBuilder();
String line;
while ((line = reader.readLine()) != null)
strber.append(line + "\n");
inStream.close();
result = strber.toString();
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
System.out.println("请求服务器成功,做相应处理");
} else {
System.out.println("请求服务端失败");
}
} catch (Exception e) {
logger.error("请求异常:"+e.getMessage());
throw new RuntimeException(e);
}
return result;
}
使用中に注意してください: あらゆる種類のパラメータが正しく設定されています