Я все же скопировал следующий код от here. Я получаю java.net.SocketException в строке 10, говоря «Сброс соединения».SocketException: Connection reset
import java.net.*;
import java.io.*;
import org.apache.commons.io.*;
public class HelloWorld {
public static void main(String[] x) {
try {
URL url = new URL("http://money.cnn.com/2013/06/07/technology/security/page-zuckerberg-spying/index.html");
URLConnection con = url.openConnection();
InputStream in = con.getInputStream();
String encoding = con.getContentEncoding();
encoding = encoding == null ? "UTF-8" : encoding;
String body = IOUtils.toString(in, encoding);
System.out.print(body);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Я беспокоюсь это не может быть на самом деле проблема с фактическим кодом, а скорее какой-то разрешения, мне нужно дать Java. Что-то не так с моим кодом или это проблема среды?
Какая операционная система? Какая среда? (подсказка: в корпоративных средах очень вероятно, что вам не будут разрешены прямые подключения к веб-серверам, и вам придется пройти через прокси) – fge
Согласен @fge, вы также можете попробовать изменить пользователя -Agent, поскольку некоторые прокси или системы IDS блокируют запрос, который может быть получен от бота. Попробуйте добавить перед чем-то вроде System.setProperty («http.agent», «Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, например, Gecko) Chrome/28.0.1468.0 Safari/537.36"); ' – gma
I ' m на ubuntu 12. Я использую прямые подключения (если только python не делает что-то за сценой для меня) в ряде других проектов. Я пробовал несколько сайтов и ничего не работает. – Jake