Kaip gauti HTTP atsakymo kodą Java sistemoje?

Pasakykite man veiksmus ar kodą, kad gautumėte atsakymo kodą privačiam URL.

119
24 июня '11 в 15:32 2011-06-24 15:32 „Ajit“ yra nustatytas birželio 24 d. 11 val. 15:32 2011-06-24 15:32
@ 11 atsakymų

„HttpURLConnection“ :

 URL url = new URL("http://example.com"); HttpURLConnection connection = (HttpURLConnection)url.openConnection(); connection.setRequestMethod("GET"); connection.connect(); int code = connection.getResponseCode(); 

Tai nėra stiprus pavyzdys; jums reikės valdyti IOException ir IOException . Bet tai turėtų jums pradėti.

Jei jums reikia daugiau galimybių, patikrinkite HttpClient .

159
24 июня '11 в 15:37 2011-06-24 15:37 atsakymą pateikė Robas Hruska , birželio 24 d. 11, 15:37 2011-06-24 15:37
 URL url = new URL("http://www.google.com/humans.txt"); HttpURLConnection http = (HttpURLConnection)url.openConnection(); int statusCode = http.getResponseCode(); 
border=0
35
24 июня '11 в 15:39 2011-06-24 15:39 atsakymą pateikė kwo birželio 24 d. 11 val. 15:39 2011-06-24 15:39

Galite pabandyti:

 class ResponseCodeCheck { public static void main (String args[]) throws Exception { URL url = new URL("http://google.com"); HttpURLConnection connection = (HttpURLConnection)url.openConnection(); connection.setRequestMethod("GET"); connection.connect(); int code = connection.getResponseCode(); System.out.println("Response code of the object is "+code); if (code==200) { System.out.println("OK"); } } } 
10
19 июля '11 в 20:38 2011-07-19 20:38 atsakymą pateikė Ashish Sharda 19 liepos 11 d. 20:38 2011-07-19 20:38
 import java.io.IOException; import java.net.URL; import java.net.HttpURLConnection; public class API{ public static void main(String args[]) throws IOException { URL url = new URL("http://www.google.com"); HttpURLConnection http = (HttpURLConnection)url.openConnection(); int statusCode = http.getResponseCode(); System.out.println(statusCode); } } 
5
11 апр. Raja Singh atsakymas 2013-04-11 13:20 '13, 13:20, 2013-04-11 13:20

Jis dirbo man:

  import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.HttpResponse; import java.io.BufferedReader; import java.io.InputStreamReader; public static void main(String[] args) throws Exception { HttpClient client = new DefaultHttpClient(); //args[0] ="http://hostname:port/xyz/zbc"; HttpGet request1 = new HttpGet(args[0]); HttpResponse response1 = client.execute(request1); int code = response1.getStatusLine().getStatusCode(); try(BufferedReader br = new BufferedReader(new InputStreamReader((response1.getEntity().getContent())));){ // Read in all of the post results into a String. String output = ""; Boolean keepGoing = true; while (keepGoing) { String currentLine = br.readLine(); if (currentLine == null) { keepGoing = false; } else { output += currentLine; } } System.out.println("Response-->"+output); } catch(Exception e){ System.out.println("Exception"+e); } } 
3
26 дек. atsakymą pateikė Subhasish Sahu . 2016-12-26 11:06 '17 at 11:06 2016-12-26 11:06

Būtent tai man padėjo:

 import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; public class UrlHelpers { public static int getHTTPResponseStatusCode(String u) throws IOException { URL url = new URL(u); HttpURLConnection http = (HttpURLConnection)url.openConnection(); return http.getResponseCode(); } } 

Tikiuosi, kad tai padės kam nors :)

2
10 окт. atsakymas, kurį pateikė Jeverick 10 spalis 2013-10-10 21:24 '13, 21:24, 2013-10-10 21:24

Išbandykite šį kodo fragmentą, kuris patikrina 400 klaidų pranešimus.

 huc = (HttpURLConnection)(new URL(url).openConnection()); huc.setRequestMethod("HEAD"); huc.connect(); respCode = huc.getResponseCode(); if(respCode >= 400) { System.out.println(url+" is a broken link"); } else { System.out.println(url+" is a valid link"); } 
2
04 февр. Atsakymas, kurį pateikė lokesh sharma 04 vasaris 2018-02-04 11:16 '18, 11:16, 2018-02-04 11:16

Nėra universalaus kodo, kuris veiktų visiems URL. Pirmasis taškas: atsakymo kodo URL priklauso nuo metodo tipo, pavyzdžiui: GET, POST. Pagal metodą turėsite perduoti duomenis. Jei URL reikalauja autentifikavimo, turite perduoti naudotojo sesijos duomenis.

Ar galite nurodyti tikslų scenarijų, kuriam ieškote atsakymo?

0
31 янв. Hardik Rathod atsakymas, sausio 31 d 2019-01-31 08:18 '19 , 8:18 pm 2019-01-31 08:18

Galite naudoti „Java“ http / https URL ryšį, kad gautumėte atsakymo kodą iš svetainės ir kitos informacijos, ir čia yra pavyzdinis kodas.

  try { url = new URL("https://www.google.com"); // create url object for the given string HttpURLConnection connection = (HttpURLConnection) url.openConnection(); if(https_url.startsWith("https")){ connection = (HttpsURLConnection) url.openConnection(); } ((HttpURLConnection) connection).setRequestMethod("HEAD"); connection.setConnectTimeout(50000); //set the timeout connection.connect(); //connect String responseMessage = connection.getResponseMessage(); //here you get the response message responseCode = connection.getResponseCode(); //this is http response code System.out.println(obj.getUrl()+" is up. Response Code : " + responseMessage); connection.disconnect();' }catch(Exception e){ e.printStackTrace(); } 
0
26 марта '17 в 8:24 2017-03-26 08:24 atsakymą pateikė kapteinis, kovo 26 d. 17, 8:24 2017-03-26 08:24
 HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setDoInput(true); connection.setRequestMethod("POST"); 

,,,,,

 System.out.println("Value" + connection.getResponseCode()); System.out.println(connection.getResponseMessage()); System.out.println("content"+connection.getContent()); 
0
08 мая '13 в 20:50 2013-05-08 20:50 atsakymas pateikiamas neoeahit gegužės 8 d. 13 d. 20:50 2013-05-08 20:50

Efektyvus būdas gauti duomenis (su netolygia apkrova) naudojant skaitytuvą.

 public static String getResponseFromHttpUrl(URL url) throws IOException { HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); try { InputStream in = urlConnection.getInputStream(); Scanner scanner = new Scanner(in); scanner.useDelimiter("\\A"); // Put entire content to next token string, Converts utf8 to 16, Handles buffering for different width packets boolean hasInput = scanner.hasNext(); if (hasInput) { return scanner.next(); } else { return null; } } finally { urlConnection.disconnect(); } } 
0
01 июня '17 в 9:25 2017-06-01 09:25 atsakymą pateikė vartotojo8024555 birželio 1 '17, 9:25 2017-06-01 09:25

Kiti klausimai apie „ arba Užduoti klausimą