comment modifier l'adresse IP d'origine dans HttpWebRequest
Je suis l'exécution de cette application sur un serveur qui a affecté 5 IPs. J'utilise HttpWebRequest pour récupérer des données à partir d'un site web. Mais quand je fais la connexion je dois être en mesure de préciser lequel des 5 IPs pour établir la connexion. Ne HttpWebRequest l'appui de cette? Si ça ne marche pas je peut hériter d'une classe de changer de comportement? J'ai tant besoin d'idées ici.
Mon code maintenant est quelque chose comme:
System.Net.WebRequest request = System.Net.WebRequest.Create(link);
((HttpWebRequest)request).Referer = "http://application.com";
using (System.Net.WebResponse response = request.GetResponse())
{
StreamReader sr = new StreamReader(response.GetResponseStream());
return sr.ReadToEnd();
}
source d'informationauteur Tudor Carean
Vous devez vous connecter pour publier un commentaire.
Selon cettepas. Vous pourriez avoir à descendre à l'aide de Sockets, où je sais que vous pouvez choisir l'adresse IP locale.
EDIT: en fait, il semble que cela peut être possible. HttpWebRequest a un ServicePoint de la Propriété, qui à son tour a BindIPEndPointDelegatequi peut être ce que vous cherchez.
Donnez-moi une minute, je vais concocter un exemple...
Fondamentalement, le délégué doit retourner une l'ipendpoint. Vous pouvez choisir ce que vous voulez, mais si elle ne peut pas se lier à elle, il va appeler le délégué de nouveau, jusqu'à int.MAX_VALUE fois. C'est pourquoi j'ai inclus le code pour gérer l'IPv6, depuis IPAddress.Tout est IPv4.
Si vous n'avez pas de soins sur l'IPv6, vous pouvez se débarrasser de que. Aussi, j'ai quitter le choix de l'adresse ip comme un exercice pour le lecteur 🙂
Essayez ceci:
Puis essayez de définir le ConnectionGroupName pour quelque chose de distinct par adresse ip source que vous souhaitez utiliser.
edit: à utiliser en conjonction avec la liaison IP délégué de la réponse ci-dessus.