Vor kurzem war es schwierig, das Ergebnis in den API-Test zu kopieren, einzufügen und mit 〇 zu markieren, also habe ich es ein wenig ...
Dieses Mal schreibe ich die URL in eine txt-Datei, rufe sie einfach auf, packe sie in eine Liste und schreibe sie in eine Datei. Es fühlt sich an, als ob Sie sich nur bewegen, also denke ich, dass es viel Verschwendung ist, aber bitte schließen Sie Ihre Augen: Stirnrunzeln2:
Wenn Sie einen Apitest-Ordner direkt unter C erstellen, eine txt-Datei darin ablegen und ausführen, sollten Sie das Ausführungsergebnis erhalten ...
apiTest.txt
//Derjenige, der die Postleitzahl der Präfektur Hyogo nennt
https://zip-cloud.appspot.com/api/search?zipcode=6580083
https://zip-cloud.appspot.com/api/search?zipcode=6580026
https://zip-cloud.appspot.com/api/search?zipcode=6580025
https://zip-cloud.appspot.com/api/search?zipcode=6580082
https://zip-cloud.appspot.com/api/search?zipcode=6580024
ApiTest.java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public class ApiTest {
public static void main(String[] args) throws InterruptedException {
//Pfad zu dem Ordner, der die API-Ausführungs-URL enthält
final String filePath = "C:\\apitest\\";
//apiURL Datei bereits vorbereitet
List<String> apiUrl = new ArrayList<>();
//Speichert API-Ergebnisse.
List<String> apiResult = new ArrayList<>();
//Dateipfad für lokal
File file = new File(filePath);
try {
if (file.isDirectory()) {
String[] fileList = file.list();
//Lesen Sie vorerst alle Dateien im Ordner, damit Sie mit dem Dateinamen str verschiedene Dinge tun können
for(String str:fileList) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath + str)))) {
//Eine Zeile der Zeichenfolge-> line
String line;
while ((line = reader.readLine()) != null) {
apiUrl.add(line);
}
}
}
}
}catch(Exception e) {
e.printStackTrace();
}
for(int i=0;i < apiUrl.size();i++) {
if(apiUrl.get(i) == null) {
//Wenn keine Ausführungs-URL vorhanden ist
apiResult.add("");
}else {
apiResult.add(callGet(apiUrl.get(i)));
}
}
//Exportieren Sie die Ergebnisse in eine Textdatei
try(FileWriter fileWrite = new FileWriter("C:\\apitest\\apiResult.txt");
PrintWriter pw = new PrintWriter(new BufferedWriter(fileWrite));) {
//In Datei exportieren
for(int i=0 ;i<apiResult.size();i++) {
pw.println(apiResult.get(i));
}
}catch(Exception e) {
e.printStackTrace();
}
}
public static String callGet(String strGetUrl){
HttpURLConnection con = null;
StringBuffer result = new StringBuffer();
try {
URL url = new URL(strGetUrl);
con = (HttpURLConnection) url.openConnection();
//Grundlegendes Authentifizierungsmuster
//con.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString("userName:pass".getBytes()));
con.setRequestMethod("GET");
con.connect();
//HTTP-Antwortcode
final int status = con.getResponseCode();
if (status == HttpURLConnection.HTTP_OK) {
//Erfolgreiche Kommunikation
//Holen Sie sich den Text
final InputStream in = con.getInputStream();
String encoding = con.getContentEncoding();
if(null == encoding){
encoding = "UTF-8";
}
final InputStreamReader inReader = new InputStreamReader(in, encoding);
final BufferedReader bufReader = new BufferedReader(inReader);
String line = null;
//Lesen Sie den Text Zeile für Zeile
while((line = bufReader.readLine()) != null) {
result.append(line);
}
bufReader.close();
inReader.close();
in.close();
}else{
System.out.println(status);
}
}catch (Exception e1) {
e1.printStackTrace();
} finally {
if (con != null) {
//Trennen
con.disconnect();
}
}
System.out.println("result=" + result.toString());
return result.toString();
}
}
In einigen Fällen gibt es eine grundlegende Authentifizierung, daher habe ich auch das Muster beschrieben. Wenn Sie einen 401-Fehler erhalten, führen Sie normalerweise eine Basisauthentifizierung durch, und zu diesem Zeitpunkt möchte ich den Teil "Standardauthentifizierung" schreiben.
Das war's: entspannt:
http://www.programing-style.com/android/android-api/android-httpurlconnection-get-text/
Recommended Posts