Holen Sie sich das Ergebnis von POST in Java

Hintergrund

Dies ist ein Memo, wenn Sie Daten von Java auf eine Website POSTEN und das Ergebnis erhalten möchten. Dieses Mal senden wir die Belegnummer an das [Gepäckanfragesystem] von Yamato Transport (https://toi.kuronekoyamato.co.jp/cgi-bin/tneko) und erhalten das Anfrageergebnis.

Vorbereitung

Untersuchen Sie das Namensattribut der Daten für POST aus der Quelle des Gepäckabfragesystems.

view-source


 <td align="left">Genaue Information
  <input type="radio" name="number00" value="1" checked>Ja
  <input type="radio" name="number00" value="2">Keiner
 </td>
···Kürzung···
<td class="input">
  <input name="number01" size="20" maxlength="14">
 </td>

Der Name des Optionsfelds, mit dem detaillierte Informationen in der Quelle angezeigt / ausgeblendet werden, lautet number00 Sie können sehen, dass der Name des Textfelds zur Eingabe der Belegnummer number01 ~ number10 ist.

Abfrageergebnisse abrufen

Holen Sie es sich mit dem folgenden Code.

Post.java


import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class Post {
	public String getResultPage(String postData, String postURL){
		try{
			String data = postData;
			URL url = new URL(postURL);
			HttpURLConnection uc = (HttpURLConnection)url.openConnection();
			uc.setDoOutput(true); //Flag, um OutputStream von der generierten URL-Verbindung abzurufen
			uc.setRequestMethod("POST");
			OutputStream os = uc.getOutputStream();
			os.write(data.getBytes());
			os.flush();
			os.close();
			InputStream is = uc.getInputStream();
			BufferedReader reader = new BufferedReader(new InputStreamReader(is,"Shift_JIS"));
			String line;
			StringBuffer buf = new StringBuffer();
			while((line = reader.readLine()) != null){
				buf.append(line + "\n");
			}
			is.close();
			uc.disconnect();
			return buf.toString();
		}catch(Exception e){
			e.printStackTrace();
			return null;
		}
	}
	public static void main(String[] args) {
		String url = "https://toi.kuronekoyamato.co.jp/cgi-bin/tneko";
		String query = "number00=1&number01=Belegnummer"; //* Beim POSTEN von Daten Name=value&name=value...Wird in der Form sein
		System.out.println(new Post().getResultPage(query,url));
	}

}

Ausführungsergebnis

Das Ergebnis von POST wird ausgegeben

python


···Kürzung···
 <table class="meisai">
<tr>
 <th width="55"><br></th>
 <th>Gepäckstatus</th>
 <th>Datum</th>
 <th>Tageszeiten</th>
 <th>Verantwortlicher Name des Geschäfts</th>
 <th>Code speichern</th>
</tr>
<tr class="odd">
 <td class="image"><img src="/images/ya_02.gif" alt="Fortschritt"></td>
 <td>Versand</td>
 <td>02/21</td>
 <td>13:47</td>
 <td><a href="http://sneko2.kuronekoyamato.co.jp/sneko2/Sngp?ID=NET_C&JC=031902&DN=&MD=&F=2" target="_blank">Tokyo Corporate Sales Branch</a></td>
 <td>031902</td>
</tr>
<tr class="even">
 <td class="image"><img src="/images/ya_02.gif" alt="Fortschritt"></td>
 <td>Lieferungsplan</td>
 <td>02/22</td>
 <td>12:30</td>
 <td>Nächstes Verkaufsbüro</td>
 <td>Center-Code des nächstgelegenen Verkaufsbüros</td>
</tr>
<tr class="odd">
 <td class="image"><img src="/images/ya_02.gif" alt="Fortschritt"></td>
 <td>Lieferungsplan</td>
 <td>02/22</td>
 <td>17:37</td>
 <td>Nächstes Verkaufsbüro</td>
 <td>Center-Code des nächstgelegenen Verkaufsbüros</td>
</tr>
<tr class="even">
 <td class="image"><img src="/images/nimotsu_01.gif" alt="neueste"></td>
 <td>Lieferung abgeschlossen</td>
 <td>02/22</td>
 <td>19:11</td>
 <td><a href="Link zum nächsten Verkaufsbüro" target="_blank">Nächstes Verkaufsbüro</a></td>
 <td>Center-Code des nächstgelegenen Verkaufsbüros</td>
</tr>
</table>
···Kürzung···

das ist alles.

Recommended Posts

Holen Sie sich das Ergebnis von POST in Java
Rufen Sie die URL des HTTP-Umleitungsziels in Java ab
[Java] Holen Sie sich die Datei unabhängig von der Umgebung in das JAR
[Java] Ermittelt den Tag eines bestimmten Tages
So erhalten Sie das Datum mit Java
Die Geschichte des Schreibens von Java in Emacs
[Java] Ordnen Sie die Daten des vergangenen Montags und Sonntags der Reihe nach an
Rufen Sie die öffentliche URL der privaten Datei von Flickr in Java ab
So ermitteln Sie die Länge einer Audiodatei mit Java
POST JSON in Java
Die Geschichte des einfachen String-Vergleichs in Java
[Java] Behandlung von Java Beans in der Methodenkette
Die Geschichte eines gewöhnlichen Othello in Java
Über die Idee anonymer Klassen in Java
Die Geschichte des Lernens von Java in der ersten Programmierung
Messen Sie die Größe eines Ordners mit Java
[Java] Ermittelt die Länge der Ersatzpaarzeichenfolge
Spüren Sie den Lauf der Zeit auch in Java
Importieren Sie Dateien derselben Hierarchie in Java
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
[Java] So erhalten Sie die URL der Übergangsquelle
Holen Sie sich EXIF-Informationen in Java
Rufen Sie den Namen des Testfalls in der JUnit-Testklasse ab
[Java] So erhalten Sie den Maximalwert von HashMap
Quelle zum Abrufen der Umleitungsquell-URL in Java
[Java] KClass in Java herunterladen [Kotlin]
POST Json in Java ~ HttpURLConnection ~
Ändern Sie die Speicherqualität von JPEG-Bildern in Java
Rufen Sie die URL des HTTP-Umleitungsziels in Ruby ab
Java-Implementierung von Tri-Tree
Bedingte Verzweigung des Ergebnisses einer SQL-Anweisung, die nur eine in Java durchsucht
Fassen Sie die zusätzlichen Elemente der optionalen Klasse in Java 9 zusammen
Beispielcode zum Abrufen der wichtigsten SQL-Typwerte in Java + MySQL 8.0
So erhalten Sie den Klassennamen des Arguments von LoggerFactory.getLogger, wenn Sie SLF4J in Java verwenden
So erhalten Sie den Namen einer Klasse / Methode, die in Java ausgeführt wird
Wurde im Basisjahr der Java-Kalenderwoche durchgeführt
[Java] Wirf eine Anfrage und zeige den Bildschirm ② (GET / POST) an.
Eine kurze Erklärung der fünf Arten von Java Static
Erhältlich am nächsten Werktag nach dem angegebenen Datum bei JAVA
Kommen Sie zu den Abkürzungen aus den fünf Beispielen für kursive Java-Listen
[Java] Wirf eine Anfrage und zeige den Bildschirm an (GET / POST)
Zählen Sie die Anzahl der Stellen nach dem Dezimalpunkt in Java
So leiten Sie den letzten Tag des Monats in Java ab
Stellen Sie sicher, dass Sie das Java compareTo-Ergebnis mit 0 vergleichen
Greifen Sie mit Java auf die Netzwerkschnittstelle zu
[Java] Löschen Sie die Elemente von List
Errate den Zeichencode in Java
[Java Edition] Geschichte der Serialisierung
Geben Sie den Java-Speicherort in eclipse.ini an
Holen Sie sich null-sichere Map-Werte in Java
Entpacken Sie die Zip-Datei in Java
OkHttp3 (GET, POST) in Android Studio
Liste der in Java 9 hinzugefügten Mitglieder
Analysieren der COTOHA-API-Syntaxanalyse in Java
Holen Sie sich die ID der automatischen Nummerierung
Bleiben Sie in einem Java Primer stecken
Liste der in Java 9 hinzugefügten Typen