Ceci est un mémo lorsque vous souhaitez POSTER des données de Java sur un site Web et obtenir le résultat. Cette fois, nous AFFICHERONS le numéro de bordereau au [Système d'enquête sur les bagages] de Yamato Transport (https://toi.kuronekoyamato.co.jp/cgi-bin/tneko) et obtiendrons le résultat de l'enquête.
Examinez l'attribut de nom des données à POST à partir de la source du système d'interrogation des bagages.
view-source
<td align="left">Des informations détaillées
<input type="radio" name="number00" value="1" checked>Oui
<input type="radio" name="number00" value="2">Aucun
</td>
···réduction···
<td class="input">
<input name="number01" size="20" maxlength="14">
</td>
Le nom du bouton radio qui sélectionne pour afficher / masquer les informations détaillées de la source est numéro00 Vous pouvez voir que le nom de la zone de texte pour saisir le numéro de feuillet est numéro01 ~ numéro10.
Obtenez-le avec le code suivant.
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); //Indicateur pour obtenir OutputStream à partir de la connexion URL générée
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=Numéro de feuillet"; //* Lors du POST de données, nom=value&name=value...Sera sous la forme
System.out.println(new Post().getResultPage(query,url));
}
}
Le résultat de POST est sorti
python
···réduction···
<table class="meisai">
<tr>
<th width="55"><br></th>
<th>Statut des bagages</th>
<th>Date</th>
<th>Heures du jour</th>
<th>Nom du magasin en charge</th>
<th>Code de magasin</th>
</tr>
<tr class="odd">
<td class="image"><img src="/images/ya_02.gif" alt="Le progrès"></td>
<td>livraison</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">Branche des ventes corporatives de Tokyo</a></td>
<td>031902</td>
</tr>
<tr class="even">
<td class="image"><img src="/images/ya_02.gif" alt="Le progrès"></td>
<td>Calendrier de livraison</td>
<td>02/22</td>
<td>12:30</td>
<td>Bureau de vente le plus proche</td>
<td>Code de centre du bureau de vente le plus proche</td>
</tr>
<tr class="odd">
<td class="image"><img src="/images/ya_02.gif" alt="Le progrès"></td>
<td>Calendrier de livraison</td>
<td>02/22</td>
<td>17:37</td>
<td>Bureau de vente le plus proche</td>
<td>Code de centre du bureau de vente le plus proche</td>
</tr>
<tr class="even">
<td class="image"><img src="/images/nimotsu_01.gif" alt="dernier"></td>
<td>Livraison terminée</td>
<td>02/22</td>
<td>19:11</td>
<td><a href="Lien vers le bureau de vente le plus proche" target="_blank">Bureau de vente le plus proche</a></td>
<td>Code de centre du bureau de vente le plus proche</td>
</tr>
</table>
···réduction···
c'est tout.
Recommended Posts