Bonjour a tous,
depuis une semaine déjà je rame un peu et malgré plusieurs recherche je n'arrive pas a résoudre mon souci.
en gros voila, de bric et de broc j'essaie en vain de faire une requête http post sur un site afin de recuperer des informations (ici des NOTAMs terrains pour ce qui connaisse l'aéronautique)
Quand j'effectue cette demande par le site postman, j'arrive a obtenir les infos que je souhaite.
quand je transpose et code cette requete en java via NETBEANs IDE 11.1, je n'arrive pas a obtenir ce que je veux.
je précise que je souhaite le résultat sous forme de xml pour plus tard le traiter et en extraire juste les infos finales.
pourriez vous me dire ce qui ne va pas dans mon code s'il vous plait?
il me sort bien un résultat mais pas ce que je souhaite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package httpsrequesttest; import java.io.BufferedReader; //import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import javax.net.ssl.HttpsURLConnection; import java.net.URL; public class HttpURLConnectionExample { //private static final String USER_AGENT = "google"; private static final String ICAO = "LFBO LFMK"; private static final String REPORTTYPE = "Raw"; private static final String ACTIONTYPE = "notamRetrievalByICAOs"; private static final String BUTTON = "Check All NOTAMs"; private static final String SUBMIT = "View NOTAMs"; private static final String POST_URL = "https://www.notams.faa.gov/dinsQueryWeb/queryRetrievalMapAction.do"; private static final String POST_PARAMS = "POST"; public static void main(String[] args) throws IOException { sendPOST(); System.out.println("POST DONE"); } private static void sendPOST() throws IOException { URL obj = new URL(POST_URL); HttpsURLConnection con = (HttpsURLConnection) obj.openConnection(); con.setRequestMethod("POST"); //con.setRequestProperty("User-Agent", USER_AGENT); con.setRequestProperty("retrieveLocId", ICAO ); con.setRequestProperty("reporType", REPORTTYPE ); con.setRequestProperty("actionType", ACTIONTYPE ); con.setRequestProperty("button", BUTTON ); con.setRequestProperty("submit", SUBMIT ); con. // For POST only - START con.setDoOutput(true); try //(DataOutputStream os = new DataOutputStream( con.getOutputStream())) { // wr.write(POST_PARAMS); (OutputStream os = con.getOutputStream()) { os.write(POST_PARAMS.getBytes()); //os.flush(); // For POST only - END } int responseCode = con.getResponseCode(); System.out.println("POST Response Code :: " + responseCode); if (HttpsURLConnection.HTTP_OK == responseCode) { StringBuffer response; try ( //success BufferedReader in = new BufferedReader(new InputStreamReader( con.getInputStream()))) { String inputLine; response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } } //print result System.out.println(response.toString()); } else { System.out.println("POST request not worked"); } } void sendGet() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } void sendPost() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } }
J'ai pourtant bien inspecter la page web pour en récupérer les bonnes "KEY" et "VALUE" mais je pense que j'ai zappé une code.
Par avance merci pour votre aide.
Amicalement
Partager