Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有一种方法可以使用Zuul代理内部http调用?_Java_Http_Proxy_Netflix Zuul - Fatal编程技术网

Java 有没有一种方法可以使用Zuul代理内部http调用?

Java 有没有一种方法可以使用Zuul代理内部http调用?,java,http,proxy,netflix-zuul,Java,Http,Proxy,Netflix Zuul,我有一个springboot应用程序,我可以向它发出HTTP请求,它将向internet上的其他资源发送另一个HTTP请求 @RestController @SpringBootApplication public class BookApplication { @RequestMapping(value = "/available") public String available() throws Exception { String url = "https://www

我有一个
springboot
应用程序,我可以向它发出
HTTP
请求,它将向internet上的其他资源发送另一个
HTTP
请求

@RestController
@SpringBootApplication
public class BookApplication {

  @RequestMapping(value = "/available")
  public String available() throws Exception {

    String url = "https://www.google.com";

    URL obj = new URL(url);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();

    con.setRequestMethod("GET");
    con.setRequestProperty("User-Agent", "Mozilla/5.0");
    BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
    StringBuffer response = new StringBuffer();
    String inputLine;

    while ((inputLine = in.readLine()) != null) {
      response.append(inputLine);
    }
    in.close();
    return "Spring in Action";
  }

  public static void main(String[] args) {
    SpringApplication.run(BookApplication.class, args);
  }
}
我还有另一个
springboot
应用程序,它是
Zuul
代理

@EnableZuulProxy
@SpringBootApplication
public class GatewayApplication {

  public static void main(String[] args) {
    SpringApplication.run(GatewayApplication.class, args);
  }

  @Bean
  public SimpleFilter simpleFilter() {
    return new SimpleFilter();
  }
}
SimpleFilter类是:

public class SimpleFilter extends ZuulFilter {

  private static Logger log = LoggerFactory.getLogger(SimpleFilter.class);

  @Override
  public String filterType() {
    return "pre";
  }

  @Override
  public int filterOrder() {
    return 1;
  }

  @Override
  public boolean shouldFilter() {
    return true;
  }

  @Override
  public Object run() {
    RequestContext ctx = RequestContext.getCurrentContext();
    HttpServletRequest request = ctx.getRequest();

    log.info(String.format("%s request to %s", request.getMethod(), request.getRequestURL().toString()));

    return null;
  }

}
Zuul
代理应用程序的application.properties:

zuul.routes.books.url=http://localhost:8090

ribbon.eureka.enabled=false

server.port=8080
基本上,所有内容都来自本教程


因此,我想知道是否有机会将请求代理到由
BookApplication
中的
/available
资源完成的“”。

没有办法。Zuul不适合做那种事