Если вам нужно использовать HTTP для принятия ваших данных, вам следует рассмотреть возможность использования «POST» вместо «GET». NMEA содержит много символов, которые должны быть правильно закодированы для выполнения запроса. Если вы делаете «POST», вы можете указать «Content Type» и «Charset», чтобы соответствовать сырому NMEA. Я считаю, что вы можете просто сделать «Content-Type: text / plain» и передать необработанный POST.
Обратите внимание, что если бы вы использовали необработанный метод "POST", у вас больше не было бы переменной $ _POST в PHP, и вам пришлось бы читать необработанное сообщение. Вы можете прочитать необработанный пост, выполнив следующее:
$data = file_get_contents('php://input');
Код на стороне клиента:
String url = "http://www.xyz.com/server.php";
HttpPost post = new HttpPost(url);
StringEntity se = new StringEntity(nmea);
se.setContentType("text/plain");
post.setEntity(se);
HttpClient client = new DefaultHttpClient();
HttpResponse httpResponse = client.execute(post);
Обратите внимание, что ваш POST будет добавлен в скрипт PHP как необработанный пост, поэтому вам придется немного обработать, чтобы просто получить строку NMEA.