簡體   English   中英

使用Java通過代理檢查請求的狀態碼

[英]Check status code for a request made via proxy using java

我正在嘗試使用Java使用代理發出http請求,並在整數變量中獲取響應代碼。

我使用的方法是:

public static int getResponseCode(String urlString, Proxy p) throws MalformedURLException, IOException{
URL url = new URL(urlString);
HttpResponse urlresp = new DefaultHttpClient().execute(new HttpGet(urlString));
int resp_Code = urlresp.getStatusLine().getStatusCode();
return resp_Code;
}

我正在傳遞代理參數,但不確定在發出請求時如何使用它。 我試圖在線查找資源,但找不到合適的解決方案。

我嘗試了以下解決方案,但不確定如何在此處獲取響應代碼:

HttpHost proxy = new HttpHost("proxy.com", 80, "http");
DefaultProxyRoutePlanner routePlanner = new DefaultProxyRoutePlanner(proxy);
CloseableHttpClient httpclient = HttpClients.custom()
                .setRoutePlanner(routePlanner)
                .build();

您可以嘗試以下方法:

URL url = new URL("http://www.myurl.com");

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxy.com", 8080));

// IF NEED AUTH         
//      Authenticator authenticator = new Authenticator() {
//          public PasswordAuthentication getPasswordAuthentication() {
//              return (new PasswordAuthentication("username",
//                      "password".toCharArray()));
//          }
//      };
//      Authenticator.setDefault(authenticator);

        HttpURLConnection conn = (HttpURLConnection)url.openConnection(proxy);
        conn.setRequestMethod("GET");
        conn.connect();

        int code = conn.getResponseCode();

        System.out.println(code);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM