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.
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.
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));
}
}
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