Проблемы с DNS на Android - PullRequest
       4

Проблемы с DNS на Android

3 голосов
/ 29 июня 2010

Я получил сообщения от нескольких пользователей, что они не могут войти в наше приложение (которое делает HTTP-вызовы на наш сайт) или посетить наш сайт в их браузере, поэтому я добавил код в нашу последнюю сборку, чтобы проверить, какой IPнаше имя хоста разрешается в.Теперь я получил отчеты от нескольких разных пользователей, что они получают 127.0.0.1 для нашего имени хоста при запуске приложения, которое, очевидно, не будет работать.

Они утверждают, что не используют никакого прокси-программного обеспечения,и это происходит на 2.1 и 2.2.Это также происходит с обоими Wi-Fi и 3G, что заставляет меня подозревать, что это какая-то часть программного обеспечения на их телефоне, которая каким-то образом мешает разрешению DNS.Кто-нибудь знает какое-нибудь популярное программное обеспечение, которое может это сделать?Или у кого-нибудь есть идеи о том, как определить, какое программное обеспечение может это делать?

Спасибо,

Ответы [ 3 ]

1 голос
/ 27 апреля 2012
import org.xbill.DNS.Lookup;
import org.xbill.DNS.Record;
import org.xbill.DNS.TXTRecord;
import org.xbill.DNS.TextParseException;
import org.xbill.DNS.Type;

public class DNSLookUpActivity extends Activity {
    private String url = "https://spectracore.americanlogistics.com/rdac/AdmissionController/CheckMddAdmission";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        funDNS(url);

    }

    private static void funDNS(String url) {

        try {
            Lookup lookup = new Lookup(url, Type.ANY);
            Record[] records = lookup.run();

            if (lookup.getResult() == Lookup.SUCCESSFUL) {
                String responseMessage = null;
                String listingType = null;
                for (int i = 0; i < records.length; i++) {
                    if (records[i] instanceof TXTRecord) {
                        TXTRecord txt = (TXTRecord) records[i];
                        for (Iterator j = txt.getStrings().iterator(); j
                                .hasNext();) {
                            responseMessage += (String) j.next();
                        }
                        Log.e("TXRecord ", "" + responseMessage);
                    } else if (records[i] instanceof ARecord) {
                        listingType = ((ARecord) records[i]).getAddress()
                                .getHostAddress();
                        Log.e("ARecord address : ", "" + listingType);
                    }
                }
            }
        } catch (TextParseException e) {
            e.printStackTrace();
        }

    }
}
Need android ask version 2.3.3 or above
0 голосов
/ 29 июля 2013

dnsjava / org.xbill.DNS слишком велик для приложения для Android, DNSQuery Скотта Минса обещает:

http://smeans.com/programming/dns-queries-in-java/

0 голосов
/ 17 сентября 2010

Получите конфигурацию DNS и попробуйте их DNS-серверы напрямую с помощью dig или nslookup. Это не идеально, но есть хорошие шансы показать вам проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...