Прежде всего, очистите ваши исключения ввода-вывода, так как это может скрыть проблему - проверьте, что вы можете написать в D:.
Если сайт заблокирован из-за заголовка пользовательского агента:
Это покажет вам ваш заголовок user-agent: http://pgl.yoyo.org/http/browser-headers.php. Затем ответ на Настройка агента пользователя java URLConnection скажет вам, как установить ваш заголовок.
Вам нужно будет либо добавить шаг между созданием URL-адреса и открытием потока:
URL tariff = new URL("http://www.emcsg.com/MarketData/PriceInformation?downloadRealtime=true");
java.net.URLConnection c = tariff.openConnection();
c.setRequestProperty("User-Agent", " USER AGENT STRING HERE ");
ReadableByteChannel tar = Channels.newChannel(c.getInputStream());
или вы можете попробовать сделать это:
System.setProperty("http.agent", " USER AGENT STRING HERE ");
когда-нибудь, прежде чем позвонить openStream()
.
Редактировать: Это работает для меня. Можете ли вы попробовать запустить его и сообщить нам результат:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class TestURL {
public static void main(String[] args) {
try {
URL tariff = new URL("http://www.emcsg.com/MarketData/PriceInformation?downloadRealtime=true");
URLConnection c = tariff.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));
System.out.println(br.readLine());
} catch (IOException ex) {
ex.printStackTrace();
}
}
}