Envoyer requêtes HTTP(S) en spécifiant l'interface source
Bonjour,
Je poste car je ne trouve pas de réponse nulle part, ou alors des solutions qui ne marchent pas..
Je souhaiterais envoyer des requêtes HTTP ou HTTPS à une adresse, mais le problème c'est que la machine source possède plusieurs interfaces, avec différents VLANs.
Je voudrais spécifier par quelle interface (ou adresse ip directement) il faut passer pour lancer l'ordre.
en bref, l'équivalent de :
Code:
1 2
|
Socket c = new Socket(address, port); |
mon code actuel :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
trustAllHttpsCertificates(); // precise au JRE d'accepter la connexion
HttpsURLConnection.setDefaultHostnameVerifier(hv);
URL url = new URL(urlString); // creation de l'url avec l'ordre HTTPS donné
URLConnection urlConn = url.openConnection(); // ouverture de la connexion
urlConn.setConnectTimeout(TIMEOUT_CONNEXION);
urlConn.setDoInput(true); // precise que l'on attend un retour de cette connexion
urlConn.setUseCaches(false);
urlConn.setAllowUserInteraction(true);
// encodage et authentification grâce au login/mdp
String authentication = CAMERA_LOGIN + ":" + CAMERA_PWD;
String encodedPassword = "Basic " + new BASE64Encoder().encode(authentication.getBytes());
urlConn.setRequestProperty("Authorization", encodedPassword);
urlConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
urlConn.connect(); |
je suis prêt à tester d'autres méthodes et API si nécessaire, mais si quelqu'un connait la manière simple...