Я использую следующий код, чтобы получить источник страницы, который является простым текстом (без html-тегов) с веб-сервера в локальной сети. Но я всегда получаю пустую строку взамен, и если я открою тот же URI в браузере, я могу увидеть текст. Ниже мой код:Android-HTTP Получить запрос по локальной сети
String url = "http://192.168.1.40/touchscreens/get.qsp?display=1";
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
request.setHeader("Content-Type", "text/plain; charset=utf-8");
request.setURI(new URI(url));
HttpResponse response = client.execute(request);
in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line + NL);
}
String page = sb.toString();
Toast.makeText(getApplicationContext(), page, Toast.LENGTH_LONG).show();
и еще одна вещь, когда я ввожу тот же URL в эмуляторе Android браузер не вижу ничего. Я что-то упускаю?
не должен быть какой-то порт при вызове с использованием IP? – kosa
Класс StringBuilder обычно должен использоваться в предпочтении StringBuffer, так как он поддерживает все те же операции, но быстрее, поскольку он не выполняет синхронизацию. – jacknad
@thinksteep: Он работает над портом 80, и, как я уже сказал, я успешно могу видеть текст, когда вставляю тот же URL-адрес в Google Chrome. – Ali