2013-03-25 3 views
2

работает над проблемой URLConnectionUrlConnection.getHeaderField (имя строки) возвращение нулевой

Объект подключения создается путем вызова метода OpenConnection() на URL и общий запрос manipualted. то я инициализировал строку, в которой я ожидаю uniqueid из функции getHeaderfield (имя строки). После этого я должен выполнить фактическое подключение к удаленному объекту с помощью метода Connect()

call for openConnection() 
    String uniqueid=null; 
    call for connect() 
    uniqueid=UrlConnection.getHeaderField(Headername); 

здесь я получаю значение UniqueID как нуль.

Когда я исследовал тему, я узнал, что фактическая функция getHeaderField (string) возвращает только null (найденный в rt.jar в java-пакете под java.net.UrlConection.class).

Но документы оракула говорят http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLConnection.html#getHeaderField%28java.lang.String%29 , что он возвращает значение именованного заголовка. Может ли кто-нибудь объяснить поведение метода getHeaderField()?

ответ

5

UrlConnection в java.net является абстрактным, поэтому UrlConnection, с которым вы работаете, возможно, является подклассом (может быть анонимным).

Попробуйте распечатать имя класса UrlConnection с .getClass(), с которым вы фактически работаете, а затем посмотрите на эту документацию.

Что касается того, почему вы получаете нуль, я бы предположил, что предоставленное имя headerName ничего не соответствует заголовку. Попробуйте получить карту всех заголовков с помощью .getHeaderFields() и распечатайте keySet(), чтобы узнать, находится ли ваш заголовок там.

+0

Метод 'getHeaderFields()' показал мне, какие заголовки были возвращены. Благодарю. – toobsco42

0

getHeaderFields() может возвращать null, если нет данных мобильной связи или WiFi.

Смежные вопросы