es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La solicitud de entrada desde una URL falló para la URL específica.

Intentando obtener el contenido del sitio al llamar a la URL.
url=https://seekingalpha.com/symbol/AAPL/dividends/scorecard
en el navegador – ¡funciona!
desde el código Java obtengo:
La configuración actual de su navegador
no es compatible con este sitio.

Mi código:

package com;

import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.Charset;

public class Div4u {

public static String getURLToString(String strUrl) throws IOException {



   String content = "";

   URLConnection connection = new URL(strUrl).openConnection();
   //connection.setRequestProperty("User-Agent", "Mozilla/5.0");
   connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36 OPR/60.0.3255.170");

   //connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
   connection.connect();
   BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charset.forName("UTF-8")));

   String inputLine;
   while ((inputLine = br.readLine()) != null) {
       content += inputLine;
       System.out.println(inputLine);

   }

   br.close();

   System.out.println("content:" + content);
   return content;
}


// método principal
    public static void main(String[] args)
        throws NumberFormatException,
               IOException
    {

        try {
            String urlContenet = getURLToString("https://seekingalpha.com/symbol/AAPL/dividends/scorecard");
        } catch (Exception e) {
            e.printStackTrace();
        }   
    }

}
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El problema con el código proporcionado es que el sitio web (https://seekingalpha.com/symbol/AAPL/dividends/scorecard) parece estar verificando si el encabezado user-agent en la solicitud HTTP que se envía proviene de un navegador compatible, y si no es así, devuelve un mensaje de error.

    Para resolver este problema, podemos modificar el código para establecer el encabezado user-agent y simular un navegador compatible. Esto se hace en el fragmento de código proporcionado en la línea:

    connection.setRequestProperty(“User-Agent”, “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36 OPR/60.0.3255.170”);

    Esto establece el encabezado user-agent como el del navegador Google Chrome en un sistema operativo Windows 10, que debería ser compatible con el sitio web. Una vez realizada esta modificación, el código proporcionado debería poder recuperar el contenido del sitio web sin errores.

Comments are closed.