The Http client from Apache Commons (http://hc.apache.org/httpcomponents-client-ga/) supports this:
" ConnRoutePNames.LOCAL_ADDRESS = 'http.route.local-address' : defines the local address that should be used by all route planners by default. On computers with multiple network interfaces, this parameter can be used to select the network interface from which the connection is made. This the parameter expects a java.net.InetAddress type value. If this parameter is not set, the local address will be used automatically by default. "
source share