Перейти к содержимому

Setdooutput true java что за метод

  • автор:

Http URLConnection Класс

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

URLConnection с поддержкой функций, зависящих от HTTP.

[Android.Runtime.Register("java/net/HttpURLConnection", DoNotGenerateAcw=true)] public abstract class HttpURLConnection : Java.Net.URLConnection
[] type HttpURLConnection = class inherit URLConnection

Наследование
HttpURLConnection
Производный

Комментарии

URLConnection с поддержкой функций, относящихся к HTTP. Дополнительные сведения см. в спецификации .

Например, чтобы получить веб-страницу по адресу http://www.android.com/ :

 finally < urlConnection.disconnect(); >> 

Secure Communication with HTTPS

Calling URL#openConnection() on a URL with the «https» scheme will return an HttpsURLConnection , который позволяет переопределить значения по умолчанию javax.net.ssl.HostnameVerifier HostnameVerifier и javax.net.ssl.SSLSocketFactory SSLSocketFactory . Предоставленное SSLSocketFactory приложение, созданное javax.net.ssl.SSLContext SSLContext на основе , может предоставлять пользовательский javax.net.ssl.X509TrustManager X509TrustManager для проверки цепочек сертификатов и настраиваемый javax.net.ssl.X509KeyManager X509KeyManager для предоставления сертификатов клиента. Дополнительные сведения см. в статье javax.net.ssl.HttpsURLConnection HttpsURLConnection .

/h3> HttpURLConnection будет следовать до пяти перенаправлений HTTP. Он будет следовать перенаправления с одного сервера-источника на другой. Эта реализация не следует перенаправлениям с HTTPS на HTTP или наоборот.

Если HTTP-ответ указывает, что произошла ошибка, #getInputStream() вызовет исключение IOException . Используйте #getErrorStream() для чтения ответа об ошибке. Заголовки можно считывать обычным способом с помощью #getHeaderFields() ,

Публикация содержимого данных на веб-сервер настройте подключение для вывода с помощью #setDoOutput(boolean) setDoOutput(true) .

Для достижения оптимальной производительности следует вызывать , #setFixedLengthStreamingMode(int) если длина тела известна заранее, или #setChunkedStreamingMode(int) когда она не указана. В противном случае HttpURLConnection будет принудительно буферизуть весь текст запроса в памяти перед его передачей, тратя (и, возможно, изнурительной) кучу и увеличивая задержку.

Например, чтобы выполнить отправку:

 finally < urlConnection.disconnect(); >> 

Performance

Входные и выходные потоки, возвращаемые этим классом, не являются , не буферизованной< или строгой>. Большинство вызывающих должны упаковывать возвращаемые потоки в оболочку с java.io.BufferedInputStream BufferedInputStream помощью или java.io.BufferedOutputStream BufferedOutputStream . Вызывающие методы, которые выполняют только массовые операции чтения или записи, могут пропускать буферизацию.

При передаче больших объемов данных на сервер или с сервера используйте потоки, чтобы ограничить объем данных в памяти одновременно. Если вам не нужно, чтобы весь текст был в памяти одновременно, обработайте его как поток (вместо хранения всего текста в виде одного массива байтов или строки).

Чтобы уменьшить задержку, этот класс может повторно использовать одну и ту же базовую Socket для нескольких пар «запрос-ответ». В результате HTTP-подключения могут быть открыты дольше, чем это необходимо. Вызовы могут возвращать #disconnect() сокет в пул подключенных сокетов.

По умолчанию эта реализация HttpURLConnection запросов к серверам использует сжатие gzip и автоматически распаковывает данные для вызывающих #getInputStream() объектов . В этом случае заголовки ответов Content-Encoding и Content-Length очищаются. Сжатие Gzip можно отключить, задав допустимые кодировки в заголовке запроса:

Задание заголовка запроса Accept-Encoding явно отключает автоматическую распаковку и оставляет заголовки ответов без изменений; Вызывающие должны обрабатывать распаковку по мере необходимости в соответствии с заголовком Content-Encoding ответа.

#getContentLength() возвращает число переданных байтов и не может использоваться для прогнозирования количества байтов, из #getInputStream() которых можно считывать сжатые потоки. Вместо этого считывает этот поток до тех пор, пока он не будет исчерпан, т. е. когда InputStream#read возвращает значение -1.

Обработка сетевого < входа/h3>Некоторые Wi-Fi сети блокируют доступ к Интернету, пока пользователь не перейдет на страницу входа. Такие страницы входа обычно отображаются с помощью перенаправлений HTTP. Вы можете использовать для #getURL() проверки неожиданного перенаправления подключения. Эта проверка недопустима, пока после< или strong>, которые можно активировать, вызвав #getHeaderFields() или #getInputStream() . Например, чтобы проверка, что ответ не был перенаправлен на непредвиденный узел:

 . > finally < urlConnection.disconnect(); >> 

HTTP Authentication

HttpURLConnection поддерживает обычную проверку подлинности HTTP. Используйте Authenticator , чтобы задать обработчик проверки подлинности на уровне виртуальной машины:

Если он не связан с HTTPS, это <надежный>не безопасный механизм проверки подлинности пользователей. В частности, имя пользователя, пароль, запрос и ответ передаются по сети без шифрования.

Сеансы с файлами cookie

Для установления и обслуживания потенциально длительного сеанса между клиентом и сервером включает HttpURLConnection расширяемый диспетчер файлов cookie. Включите управление файлами cookie на уровне виртуальной машины с помощью CookieHandler и CookieManager :

По умолчанию CookieManager принимает файлы cookie только с сервера-источника . Включены две другие политики: CookiePolicy#ACCEPT_ALL и CookiePolicy#ACCEPT_NONE . Реализуйте CookiePolicy для определения настраиваемой политики.

По умолчанию CookieManager все принятые файлы cookie сохраняются в памяти. Эти файлы cookie будут забыты при выходе виртуальной машины. Реализуйте CookieStore для определения пользовательского хранилища файлов cookie.

Помимо файлов cookie, заданных HTTP-ответами, вы можете настроить файлы cookie программным способом. Для включения в заголовки HTTP-запросов файлы cookie должны иметь свойства домена и пути.

По умолчанию новые экземпляры HttpCookie работают только с серверами, поддерживающими файлы cookie RFC 2965 . Многие веб-серверы поддерживают только более старую спецификацию RFC 2109. Для совместимости с большинством веб-серверов установите для файла cookie версию 0.

Например, для получения www.twitter.com на французском языке:

HttpURLConnection по умолчанию GET использует метод . Он будет использовать , POST если #setDoOutput setDoOutput(true) был вызван. Другие методы HTTP ( OPTIONS , HEAD , DELETE PUT и TRACE ) можно использовать с #setRequestMethod .

Proxies

По умолчанию этот класс подключается непосредственно к серверу-источнику. Он также может подключаться через Proxy.Type#HTTP HTTP прокси-сервер или Proxy.Type#SOCKS SOCKS . Чтобы использовать прокси-сервер, используйте URL#openConnection(Proxy) URL.openConnection(Proxy) при создании подключения.

IPv6 Support

Этот класс включает прозрачную поддержку IPv6. Для узлов с IPv4- и IPv6-адресами он будет пытаться подключиться к каждому из адресов узла, пока не будет установлено подключение.

Кэширование < ответов/h3>Android 4.0 (Ice Cream Sandwich, API уровня 15) включает кэш ответов. См android.net.http.HttpResponseCache . инструкции по включению кэширования HTTP в приложении.

Избегая ошибок в более ранних выпусках

до Android 2.2 (Froyo), этот класс имел некоторые разочарование ошибок. В частности, вызов close() для удобочитаемого InputStream может отравить пул подключений. Избежать этого можно, отключив пулы подключений:

Каждый экземпляр HttpURLConnection может использоваться для одной пары «запрос-ответ». Экземпляры этого класса не являются потокобезопасны.

Добавлено в JDK1.1.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

Конструкторы

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Конструктор для HttpURLConnection.

Поля

Является устаревшей.

HTTP Status-Code 202: принято.

Является устаревшей.

HTTP Status-Code 502: недопустимый шлюз.

Является устаревшей.

HTTP Status-Code 405: метод не разрешен.

Является устаревшей.

HTTP Status-Code 400: недопустимый запрос.

Является устаревшей.

HTTP Status-Code 408: время ожидания запроса.

Является устаревшей.

HTTP Status-Code 409: конфликт.

Является устаревшей.

HTTP Status-Code 201: создано.

Является устаревшей.

HTTP Status-Code 413: слишком большой объект запроса.

Является устаревшей.

HTTP Status-Code 403: запрещено.

Является устаревшей.

HTTP Status-Code 504: время ожидания шлюза.

Является устаревшей.

HTTP Status-Code 410: нет.

Является устаревшей.

HTTP Status-Code 500: внутренняя ошибка сервера.

Является устаревшей.

HTTP Status-Code 411: требуется длина.

Является устаревшей.

HTTP Status-Code 301: перемещен без возможности восстановления.

Является устаревшей.

HTTP Status-Code 302: временное перенаправление.

Является устаревшей.

HTTP Status-Code 300: несколько вариантов.

Является устаревшей.

HTTP Status-Code 204: нет содержимого.

Является устаревшей.

HTTP Status-Code 406: недопустимо.

Является устаревшей.

HTTP Status-Code 203: неавторитетная информация.

Является устаревшей.

HTTP Status-Code 404: не найдено.

Является устаревшей.

HTTP Status-Code 501: не реализовано.

Является устаревшей.

HTTP Status-Code 304: не изменено.

Является устаревшей.

HTTP Status-Code 200: ХОРОШО.

Является устаревшей.

HTTP Status-Code 206: частичное содержимое.

Является устаревшей.

HTTP Status-Code 402: требуется оплата.

Является устаревшей.

HTTP Status-Code 412: сбой предварительного условия.

Является устаревшей.

HTTP Status-Code 407: требуется проверка подлинности прокси-сервера.

Является устаревшей.

HTTP Status-Code 414: слишком большой URI запроса.

Является устаревшей.

HTTP Status-Code 205: сброс содержимого.

Является устаревшей.

HTTP Status-Code 303: см. другие.

Является устаревшей.

HTTP Status-Code 500: внутренняя ошибка сервера.

Является устаревшей.

HTTP Status-Code 401: не авторизовано.

Является устаревшей.

HTTP Status-Code 503: служба недоступна.

Является устаревшей.

HTTP Status-Code 415: неподдерживаемый тип носителя.

Является устаревшей.

HTTP Status-Code 305: используйте прокси-сервер.

Является устаревшей.

HTTP Status-Code 505: версия HTTP не поддерживается.

Свойства

Возвращает значение allowUserInteraction поля для данного объекта. -или- Задайте значение allowUserInteraction поля данного объекта URLConnection .

Длина блока при использовании режима потоковой передачи фрагментированного кодирования для вывода.

Возвращает класс среды выполнения данного объекта Object .

Если false задано значение , этот объект соединения не создал связь с указанным URL-адресом.

Возвращает параметр времени ожидания подключения. -или- Задает указанное значение времени ожидания (в миллисекундах), которое будет использоваться при открытии связи связи с ресурсом, на который ссылается urlConnection.

Извлекает содержимое этого url-подключения.

Возвращает значение поля заголовка content-encoding .

Возвращает значение поля заголовка content-length .

Возвращает значение поля заголовка в content-length виде long.

Возвращает значение поля заголовка content-type .

Возвращает значение поля заголовка date .

Возвращает значение URLConnection по умолчанию флага useCaches . -или- Задает заданное значение useCaches поля по умолчанию.

Возвращает значение этого URLConnection флага doInput . -или- Задает указанное doInput значение поля для этого URLConnection поля.

Возвращает значение этого URLConnection флага doOutput . -или- Задает указанное doOutput значение поля для этого URLConnection поля.

Возвращает поток ошибок, если подключение завершилось сбоем, но сервер тем не менее отправил полезные данные.

Возвращает значение поля заголовка expires .

Фиксированная длина содержимого при использовании режима потоковой передачи фиксированной длины.

Фиксированная длина содержимого при использовании режима потоковой передачи фиксированной длины.

Возвращает значение , boolean указывающее, следует ли автоматически выполнять перенаправления HTTP (3xx). -или- Задает, должны ли автоматически следовать перенаправления HTTP (запросы с кодом ответа 3xx) этим классом.

Дескриптор базового экземпляра Android.

Возвращает неизменяемую карту полей заголовка.

Возвращает значение поля этого объекта ifModifiedSince . -или- Задает значение ifModifiedSince поля данного URLConnection объекта в указанное значение.

Возвращает входной поток, который считывает данные из этого открытого подключения.

Возвращает значение этого HttpURLConnection instanceFollowRedirects поля. -или- Задает, должны ли перенаправления HTTP (запросы с кодом ответа 3xx) автоматически следовать этому HttpURLConnection экземпляру.

URLConnection с поддержкой функций, зависящих от HTTP.

URLConnection с поддержкой функций, зависящих от HTTP.

Возвращает значение поля заголовка last-modified .

Метод HTTP (GET, POST, PUT и т. д.

Возвращает выходной поток, который выполняет запись в это соединение.

URLConnection с поддержкой функций, зависящих от HTTP.

Возвращает объект разрешения, представляющий разрешение, необходимое для создания соединения, представленного этим объектом.

Возвращает параметр времени ожидания чтения. -или- Устанавливает для времени ожидания чтения указанное время ожидания в миллисекундах.

  • GET LI>POST HEAD
  • OPTIONS
  • PUT
  • DELETE
  • TRACE

Возвращает неизменяемую карту общих свойств запроса для этого подключения.

Получает код состояния из сообщения ответа HTTP.

Возвращает ответное сообщение HTTP , если таковое имеется, возвращенное вместе с кодом ответа с сервера.

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

URL-адрес представляет удаленный объект в Интернете, к которому открыто это подключение.

Возвращает значение этого URLConnection URL поля.

Возвращает значение этого URLConnection useCaches поля. -или- Задает значение useCaches поля данного URLConnection объекта в указанное значение.

Методы

Добавляет общее свойство запроса, заданное парой «ключ-значение».

Создает и возвращает копию этого объекта.

Открывает связь с ресурсом, на который ссылается этот URL-адрес, если такое подключение еще не установлено.

URLConnection с поддержкой функций, зависящих от HTTP.

Указывает, что другие запросы к серверу маловероятны в ближайшем будущем.

URLConnection с поддержкой функций, зависящих от HTTP.

URLConnection с поддержкой функций, зависящих от HTTP.

Указывает, равен ли какой-то другой объект этому объекту.

Извлекает содержимое этого url-подключения.

Возвращает значение хэш-кода для объекта.

Возвращает значение для поля заголовка n th .

Возвращает значение поля именованного заголовка.

Возвращает значение именованного поля, проанализированного как date.

Возвращает значение именованного поля, проанализированного в виде числа.

Возвращает ключ для поля заголовка n th .

Возвращает значение именованного поля, проанализированного в виде числа.

Возвращает значение именованного свойства общего запроса для этого соединения.

Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект .

Пробуждает один поток, ожидающий монитора этого объекта.

Пробуждает все потоки, ожидающие на мониторе этого объекта.

Этот метод используется для включения потоковой передачи текста HTTP-запроса без внутренней буферизации, если длина не>< известна заранее.

Этот метод используется для включения потоковой передачи текста HTTP-запроса без внутренней буферизации, когда длина содержимого известна заранее.

Этот метод используется для включения потоковой передачи текста HTTP-запроса без внутренней буферизации, когда длина содержимого известна заранее.

Задает свойство общего запроса.

URLConnection с поддержкой функций, зависящих от HTTP.

Возвращает строковое представление объекта.

URLConnection с поддержкой функций, зависящих от HTTP.

Указывает, проходит ли подключение через прокси-сервер.

Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за или>прерывания или прерывания.>

Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем или>прерывания или прерывания<> или до истечения определенного количества реального времени.

Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем или>прерывания или прерывания<> или до истечения определенного количества реального времени.

Явные реализации интерфейса

URLConnection с поддержкой функций, зависящих от HTTP.

URLConnection с поддержкой функций, зависящих от HTTP.

URLConnection с поддержкой функций, зависящих от HTTP.

URLConnection с поддержкой функций, зависящих от HTTP.

URLConnection с поддержкой функций, зависящих от HTTP.

URLConnection с поддержкой функций, зависящих от HTTP.

URLConnection с поддержкой функций, зависящих от HTTP.

Методы расширения

Выполняет преобразование типа, проверенного средой выполнения Android.

URLConnection с поддержкой функций, зависящих от HTTP.

URLConnection с поддержкой функций, зависящих от HTTP.

Setdooutput true java что за метод

Абстрактный класс URLConnection суперкласс всех классов, которые представляют линию связи между приложением и URL. Экземпляры этого класса могут использоваться и чтобы читать из и записать в ресурс, на который ссылается URL. Вообще, создание соединения с URL является многошаговым процессом:

openConnection() connect()
Управляйте параметрами, которые влияют на соединение с удаленным ресурсом. Взаимодействуйте с ресурсом; поля заголовка запроса и содержание.
  1. Объект соединения создается, вызывая openConnection метод на URL.
  2. Параметрами установки и общими свойствами запроса управляют.
  3. Фактическое соединение с удаленным объектом делается, используя connect метод.
  4. Удаленный объект становится доступным. К полям заголовка и содержанию удаленного объекта можно получить доступ.
  • setAllowUserInteraction
  • setDoInput
  • setDoOutput
  • setIfModifiedSince
  • setUseCaches
  • setRequestProperty
  • getContent
  • getHeaderField
  • getInputStream
  • getOutputStream
  • getContentEncoding
  • getContentLength
  • getContentType
  • getDate
  • getExpiration
  • getLastModifed

Отметьте о fileNameMap : В версиях до JDK 1.1.6, поля fileNameMap из URLConnection было общедоступно. В JDK 1.1.6 и позже, fileNameMap является частным; средство доступа и мутаторные методы getFileNameMap и setFileNameMap добавляются, чтобы получить доступ к этому. Это изменение также описывается на странице Совместимости . Вызывая методы close() на InputStream или OutputStream URLConnection после того, как запрос может освободить сетевые ресурсы, связанные с этим экземпляром, если определенные спецификации протокола не определяют различные поведения для этого.

Полевая Сводка

Поля

Модификатор и Тип Поле и Описание
protected boolean allowUserInteraction

Если true , это URL исследуется в контексте, в котором имеет смысл позволять взаимодействие с пользователем, такое как появление диалогового окна аутентификации.

Если false , этот объект соединения не создал линию связи к указанному URL.
Эта переменная устанавливается setDoInput метод.
Эта переменная устанавливается setDoOutput метод.

Некоторая поддержка протоколов, пропускающая выборку объекта, если объект не был изменен позже чем определенное время.

URL представляет удаленный объект во всемирной паутине, которой открывается это соединение.
Если true , протоколу позволяют использовать кэширование всякий раз, когда это может.

Сводка конструктора

Конструкторы

Модификатор Конструктор и Описание
protected URLConnection(URL url)

Создает соединение URL с указанным URL.

Сводка метода

Методы

Модификатор и Тип Метод и Описание
void addRequestProperty(String key, String value)

Добавляет общее свойство запроса, определенное парой ключ/значение.

Открывает линию связи для ресурса, на который ссылается этот URL, если такое соединение не было уже установлено.

Возвращает значение allowUserInteraction поле для этого объекта.
Установка возвратов для тайм-аута подключения.
Получает содержание этого соединения URL.
Получает содержание этого соединения URL.
Возвращает значение content-encoding поле заголовка.
Возвращает значение content-length поле заголовка.
Возвращает значение content-length поле заголовка как длинное.
Возвращает значение content-type поле заголовка.
Возвращает значение date поле заголовка.
Возвращает значение по умолчанию allowUserInteraction поле.
Осуждаемый.

Экземпляр определенный getRequestProperty метод должен использоваться после соответствующего экземпляра URLConnection, получается.

Возвращает значение по умолчанию a URLConnection ‘s useCaches флаг.
Возвращает значение этого URLConnection ‘s doInput флаг.
Возвращает значение этого URLConnection ‘s doOutput флаг.
Возвращает значение expires поле заголовка.
Карта имени файла загрузок (mimetable) от файла данных.
Возвращает значение для n поле заголовка th .
Возвращает значение именованного поля заголовка.
Возвращает значение именованного поля, проанализированного как дата.
Возвращает значение именованного поля, проанализированного как число.
Возвращает ключ для n поле заголовка th .
Возвращает значение именованного поля, проанализированного как число.
Возвращает неподдающуюся изменению Карту полей заголовка.
Возвращает значение этого объекта ifModifiedSince поле.
Возвращает входной поток, который читает из этого открытого соединения.
Возвращает значение last-modified поле заголовка.
Возвращает поток вывода, который пишет в это соединение.

Возвращает объект полномочий, представляющий разрешение, необходимое, чтобы сделать соединение представленным этим объектом.

Установка возвратов для тайм-аута чтения.
Возвращает неподдающуюся изменению Карту общих свойств запроса для этого соединения.
Возвращает значение именованного общего свойства запроса для этого соединения.
Возвращает значение этого URLConnection ‘s URL поле.
Возвращает значение этого URLConnection ‘s useCaches поле.
Попытки определить тип контента объекта, основанного на указанном компоненте «файла» URL.
Попытки определить тип входного потока, основанного на символах в начале входного потока.
Установите значение allowUserInteraction поле этого URLConnection .

Устанавливает указанное значение тайм-аута, в миллисекундах, чтобы использоваться, открывая линию связи для ресурса, на который ссылается этот URLConnection.

Наборы ContentHandlerFactory из приложения.

Устанавливает значение по умолчанию allowUserInteraction поле для всего будущего URLConnection объекты к указанному значению.

Осуждаемый.

Экземпляр определенный setRequestProperty метод должен использоваться после соответствующего экземпляра URLConnection, получается. Вызов этого метода не будет иметь никакого эффекта.

Устанавливает значение по умолчанию useCaches поле к указанному значению.
Устанавливает значение doInput поле для этого URLConnection к указанному значению.
Устанавливает значение doOutput поле для этого URLConnection к указанному значению.
Устанавливает FileNameMap.
Устанавливает значение ifModifiedSince поле этого URLConnection к указанному значению.
Устанавливает тайм-аут чтения в указанный тайм-аут, в миллисекундах.
Устанавливает общее свойство запроса.
Устанавливает значение useCaches поле этого URLConnection к указанному значению.
Возвраты a String представление этого соединения URL.

Методы java.lang унаследованный от класса. Объект

Полевая Деталь

url

URL представляет удаленный объект во всемирной паутине, которой открывается это соединение. К значению этого поля можно получить доступ getURL метод. Значение по умолчанию этой переменной является значением параметра URL в URLConnection конструктор.

doInput
protected boolean doInput

Эта переменная устанавливается setDoInput метод. Его значение возвращается getDoInput метод. Соединение URL может использоваться для ввода и/или выведено. Установка doInput флаг к true указывает, что приложение намеревается считать данные из соединения URL. Значение по умолчанию этого поля true .

doOutput
protected boolean doOutput

Эта переменная устанавливается setDoOutput метод. Его значение возвращается getDoOutput метод. Соединение URL может использоваться для ввода и/или выведено. Установка doOutput флаг к true указывает, что приложение намеревается записать данные в соединение URL. Значение по умолчанию этого поля false .

allowUserInteraction
protected boolean allowUserInteraction

Если true , это URL исследуется в контексте, в котором имеет смысл позволять взаимодействие с пользователем, такое как появление диалогового окна аутентификации. Если false , тогда никакое взаимодействие с пользователем не позволяется. Значение этого поля может быть установлено setAllowUserInteraction метод. Его значение возвращается getAllowUserInteraction метод. Его значение по умолчанию является значением параметра в последнем вызове setDefaultAllowUserInteraction метод.

useCaches
protected boolean useCaches

Если true , протоколу позволяют использовать кэширование всякий раз, когда это может. Если false , протокол должен всегда пытаться получить новую копию объекта. Это поле устанавливается setUseCaches метод. Его значение возвращается getUseCaches метод. Его значение по умолчанию является значением, данным в последнем вызове setDefaultUseCaches метод.

ifModifiedSince
protected long ifModifiedSince

Некоторая поддержка протоколов, пропускающая выборку объекта, если объект не был изменен позже чем определенное время. Ненулевое значение дает время как число миллисекунд с 1 января 1970, GMT. Объект выбирается, только если он был изменен позже чем то время. Эта переменная устанавливается setIfModifiedSince метод. Его значение возвращается getIfModifiedSince метод. Значение по умолчанию этого поля 0 , указание, что выборка должна всегда происходить.

соединенный
protected boolean connected

Если false , этот объект соединения не создал линию связи к указанному URL. Если true , линия связи была установлена.

Деталь конструктора

URLConnection

Создает соединение URL с указанным URL. Соединение с объектом, на который ссылается URL, не создается.

Деталь метода

getFileNameMap
public static FileNameMap getFileNameMap()

Карта имени файла загрузок (mimetable) от файла данных. Это сначала попытается загрузить специфичную для пользователя таблицу, определенную «content.types.user.table» свойством. Если это перестало работать, это пытается загрузить встроенную таблицу по умолчанию в lib/content-types.properties под java домой.

setFileNameMap

Устанавливает FileNameMap. Если есть менеджер безопасности, этот метод первые вызовы менеджер безопасности checkSetFactory метод, чтобы гарантировать работу позволяется. Это могло привести к SecurityException.

подключение

Открывает линию связи для ресурса, на который ссылается этот URL, если такое соединение не было уже установлено. Если connect метод вызывают, когда соединение было уже открыто (обозначенный connected поле, имеющее значение true ), вызов игнорируется. Объекты URLConnection проходят через две фазы: сначала они создаются, тогда они соединяются. Будучи созданным, и прежде, чем быть соединенным, различные варианты могут быть определены (например, doInput и UseCaches). После соединения это — ошибка попытаться установить их. Операции, которые зависят от того, чтобы быть соединенным, как getContentLength, неявно выполнят соединение в случае необходимости.

setConnectTimeout
public void setConnectTimeout(int timeout)

Устанавливает указанное значение тайм-аута, в миллисекундах, чтобы использоваться, открывая линию связи для ресурса, на который ссылается этот URLConnection. Если тайм-аут истекает прежде, чем соединение может быть установлено, java.net. SocketTimeoutException повышается. Тайм-аут нуля интерпретируется как бесконечный тайм-аут. Некоторый нестандартный implmentation этого метода может проигнорировать указанный тайм-аут. Чтобы видеть набор тайм-аута подключения, пожалуйста, вызовите getConnectTimeout ().

getConnectTimeout
public int getConnectTimeout()

Установка возвратов для тайм-аута подключения. 0 возвратов подразумевают, что опция отключается (то есть, тайм-аут бесконечности).

setReadTimeout
public void setReadTimeout(int timeout)

Устанавливает тайм-аут чтения в указанный тайм-аут, в миллисекундах. Ненулевое значение определяет тайм-аут, читая из Входного потока, когда соединение устанавливается к ресурсу. Если тайм-аут истекает прежде, чем будут доступные данные для чтения, java.net. SocketTimeoutException повышается. Тайм-аут нуля интерпретируется как бесконечный тайм-аут. Некоторая нестандартная реализация этого метода игнорирует указанный тайм-аут. Чтобы видеть набор тайм-аута чтения, пожалуйста, вызовите getReadTimeout ().

getReadTimeout
public int getReadTimeout()

Установка возвратов для тайм-аута чтения. 0 возвратов подразумевают, что опция отключается (то есть, тайм-аут бесконечности).

getURL
public URL getURL()

Возвращает значение этого URLConnection ‘s URL поле.

getContentLength
public int getContentLength()

Возвращает значение content-length поле заголовка. Отметьте : getContentLengthLong() должен быть предпочтен по этому методу, так как он возвращает a long вместо этого и поэтому более переносимо.

getContentLengthLong
public long getContentLengthLong()

Возвращает значение content-length поле заголовка как длинное.

getContentType
public String getContentType()

Возвращает значение content-type поле заголовка.

getContentEncoding
public String getContentEncoding()

Возвращает значение content-encoding поле заголовка.

getExpiration
public long getExpiration()

Возвращает значение expires поле заголовка.

getDate
public long getDate()

Возвращает значение date поле заголовка.

getLastModified
public long getLastModified()

Возвращает значение last-modified поле заголовка. Результатом является число миллисекунд с 1 января 1970 GMT.

getHeaderField
public String getHeaderField(String name)

Возвращает значение именованного поля заголовка. Если обращено соединение, которое устанавливает тот же самый заголовок многократно с возможно различными значениями, только последнее значение, возвращается.

getHeaderFields
public MapString,ListString>> getHeaderFields()

Возвращает неподдающуюся изменению Карту полей заголовка. Ключи Map являются Строками, которые представляют имена полей заголовка ответа. Каждым значением Карты является неподдающийся изменению Список Строк, который представляет соответствующие значения полей.

getHeaderFieldInt
public int getHeaderFieldInt(String name, int Default)

Возвращает значение именованного поля, проанализированного как число. Эта форма getHeaderField существует потому что некоторые типы подключения (например, http-ng ) предварительно проанализировали заголовки. Классы для того типа подключения могут переопределить этот метод и закоротить парсинг.

getHeaderFieldLong
public long getHeaderFieldLong(String name, long Default)

Возвращает значение именованного поля, проанализированного как число. Эта форма getHeaderField существует потому что некоторые типы подключения (например, http-ng ) предварительно проанализировали заголовки. Классы для того типа подключения могут переопределить этот метод и закоротить парсинг.

getHeaderFieldDate
public long getHeaderFieldDate(String name, long Default)

Возвращает значение именованного поля, проанализированного как дата. Результатом является число миллисекунд с 1 января 1970 GMT, представленный именованным полем. Эта форма getHeaderField существует потому что некоторые типы подключения (например, http-ng ) предварительно проанализировали заголовки. Классы для того типа подключения могут переопределить этот метод и закоротить парсинг.

getHeaderFieldKey
public String getHeaderFieldKey(int n)

Возвращает ключ для n поле заголовка th . Это возвращается null если есть меньше чем n+1 поля.

getHeaderField
public String getHeaderField(int n)

Возвращает значение для n поле заголовка th . Это возвращается null если есть меньше чем n+1 поля. Этот метод может использоваться в соединении с getHeaderFieldKey метод, чтобы выполнить итерации посредством всех заголовков в сообщении.

getContent
public Object getContent() throws IOException
  1. Если приложение установило экземпляр фабрики обработчика содержимого, используя setContentHandlerFactory метод, createContentHandler метод того экземпляра вызывают с типом контента как параметр; результатом является обработчик содержимого для того типа контента.
  2. Если никакая фабрика обработчика содержимого еще не была установлена, или если фабрика createContentHandler возвраты метода null , тогда приложение загружает названный класс:
sun.net.www.content.contentType>
getContent
public Object getContent(Class[] classes) throws IOException

Получает содержание этого соединения URL.

getPermission
public Permission getPermission() throws IOException

Возвращает объект полномочий, представляющий разрешение, необходимое, чтобы сделать соединение представленным этим объектом. Этот нуль возвратов метода, если никакое разрешение не обязано делать соединение. По умолчанию, этот метод возвраты java.security.AllPermission . Подклассы должны переопределить этот метод и возвратить разрешение, которое лучше всего представляет разрешение, требуемое сделать соединение с URL. Например, a URLConnection представление a file: URL возвратил бы a java.io.FilePermission объект. Возвращенное разрешение может зависящий от состояния соединения. Например, разрешение перед соединением может отличаться от этого после соединения. Например, HTTP разъединяют, говорят foo.com, может перенаправить соединение с различным узлом, сказать bar.com. Прежде, чем соединить разрешение, возвращенное соединением, представит разрешение, должен был соединиться с foo.com, в то время как разрешение, возвращенное после соединения, будет к bar.com. Полномочия обычно используются в двух целях: защищать кэши объектов, полученных через URLConnections, и проверять право получателя узнать об определенном URL. В первом случае разрешение должно быть получено после того, как объект был получен. Например, в HTTP-соединении, это представит разрешение, чтобы соединиться с узлом, от которого были в конечном счете выбраны данные. Во втором случае разрешение должно быть получено и протестировано перед соединением.

getInputStream
public InputStream getInputStream() throws IOException

Возвращает входной поток, который читает из этого открытого соединения. SocketTimeoutException может быть брошен, читая из возвращенного входного потока, если тайм-аут чтения истекает прежде, чем данные доступны для чтения.

getOutputStream
public OutputStream getOutputStream() throws IOException

Возвращает поток вывода, который пишет в это соединение.

toString
public String toString()

Возвраты a String представление этого соединения URL.

setDoInput
public void setDoInput(boolean doinput)

Устанавливает значение doInput поле для этого URLConnection к указанному значению. Соединение URL может использоваться для ввода и/или выведено. Установите флаг DoInput в истину, если Вы намереваетесь использовать соединение URL для ввода, ложь если нет. Значение по умолчанию является истиной.

getDoInput
public boolean getDoInput()

Возвращает значение этого URLConnection ‘s doInput флаг.

setDoOutput
public void setDoOutput(boolean dooutput)

Устанавливает значение doOutput поле для этого URLConnection к указанному значению. Соединение URL может использоваться для ввода и/или выведено. Установите флаг DoOutput в истину, если Вы намереваетесь использовать соединение URL для вывода, ложь если нет. Значение по умолчанию является ложью.

getDoOutput
public boolean getDoOutput()

Возвращает значение этого URLConnection ‘s doOutput флаг.

setAllowUserInteraction
public void setAllowUserInteraction(boolean allowuserinteraction)

Установите значение allowUserInteraction поле этого URLConnection .

getAllowUserInteraction
public boolean getAllowUserInteraction()

Возвращает значение allowUserInteraction поле для этого объекта.

setDefaultAllowUserInteraction
public static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)

Устанавливает значение по умолчанию allowUserInteraction поле для всего будущего URLConnection объекты к указанному значению.

getDefaultAllowUserInteraction
public static boolean getDefaultAllowUserInteraction()

Возвращает значение по умолчанию allowUserInteraction поле. Значение по умолчанию Ths является «липким», будучи частью статического состояния всего URLConnections. Этот флаг применяется к следующему, и все после URLConnections, которые создаются.

setUseCaches
public void setUseCaches(boolean usecaches)

Устанавливает значение useCaches поле этого URLConnection к указанному значению. Некоторые протоколы делают кэширование документов. Иногда, важно быть в состоянии «туннелировать через» и проигнорировать кэши (например, кнопка «перезагрузки» в браузере). Если флаг UseCaches на соединении является истиной, соединению позволяют использовать безотносительно кэшей, это может. Если ложь, кэши должны быть проигнорированы. Значение по умолчанию прибывает из DefaultUseCaches, который значения по умолчанию к истине.

getUseCaches
public boolean getUseCaches()

Возвращает значение этого URLConnection ‘s useCaches поле.

setIfModifiedSince
public void setIfModifiedSince(long ifmodifiedsince)

Устанавливает значение ifModifiedSince поле этого URLConnection к указанному значению.

getIfModifiedSince
public long getIfModifiedSince()

Возвращает значение этого объекта ifModifiedSince поле.

getDefaultUseCaches
public boolean getDefaultUseCaches()

Возвращает значение по умолчанию a URLConnection ‘s useCaches флаг. Значение по умолчанию Ths является «липким», будучи частью статического состояния всего URLConnections. Этот флаг применяется к следующему, и все после URLConnections, которые создаются.

setDefaultUseCaches
public void setDefaultUseCaches(boolean defaultusecaches)

Устанавливает значение по умолчанию useCaches поле к указанному значению.

setRequestProperty
public void setRequestProperty(String key, String value)

Устанавливает общее свойство запроса. Если свойство с ключом уже существует, перезапишите его значение с новым значением. ОТМЕТЬТЕ: HTTP требует всех свойств запроса, у которых могут по закону быть многократные экземпляры с тем же самым ключом, чтобы использовать синтаксис списка запятой-seperated, который позволяет многократным свойствам быть добавленными в единственное свойство.

addRequestProperty
public void addRequestProperty(String key, String value)

Добавляет общее свойство запроса, определенное парой ключ/значение. Этот метод не будет перезаписывать существующие значения, связанные с тем же самым ключом.

getRequestProperty
public String getRequestProperty(String key)

Возвращает значение именованного общего свойства запроса для этого соединения.

getRequestProperties
public MapString,ListString>> getRequestProperties()

Возвращает неподдающуюся изменению Карту общих свойств запроса для этого соединения. Ключи Map являются Строками, которые представляют имена полей заголовка запроса. Каждым значением Карты является неподдающийся изменению Список Строк, который представляет соответствующие значения полей.

setDefaultRequestProperty
@Deprecated public static void setDefaultRequestProperty(String key, String value)

Осуждаемый. Экземпляр определенный setRequestProperty метод должен использоваться после соответствующего экземпляра URLConnection, получается. Вызов этого метода не будет иметь никакого эффекта.

Устанавливает значение по умолчанию общего свойства запроса. Когда a URLConnection создается, это инициализируется с этими свойствами.

getDefaultRequestProperty
@Deprecated public static String getDefaultRequestProperty(String key)

Осуждаемый. Экземпляр определенный getRequestProperty метод должен использоваться после соответствующего экземпляра URLConnection, получается.

Возвращает значение свойства запроса по умолчанию. Свойства запроса по умолчанию устанавливаются для каждого соединения.

setContentHandlerFactory

Наборы ContentHandlerFactory из приложения. Однажды это может вызвать самое большее приложение. ContentHandlerFactory экземпляр используется, чтобы создать обработчик содержимого из типа контента Если есть менеджер безопасности, этот метод первые вызовы менеджер безопасности checkSetFactory метод, чтобы гарантировать работу позволяется. Это могло привести к SecurityException.

guessContentTypeFromName
public static String guessContentTypeFromName(String fname)

Попытки определить тип контента объекта, основанного на указанном компоненте «файла» URL. Это — метод удобства, который может использоваться подклассами, которые переопределяют getContentType метод.

guessContentTypeFromStream
public static String guessContentTypeFromStream(InputStream is) throws IOException

Попытки определить тип входного потока, основанного на символах в начале входного потока. Этот метод может использоваться подклассами, которые переопределяют getContentType метод. Идеально, эта подпрограмма не была бы необходима. Но многие http серверы возвращают неправильный тип контента; кроме того, есть много нестандартных расширений. Прямой контроль байтов, чтобы определить тип контента часто более точен чем вера типу контента, требуемому http сервер.

Платформа Java™
Стандарт Эд. 7

Представьте ошибку или функцию
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE . Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.

Помогите

Помогите, пожалуйста. Задача не проходит с комментарием, мол надо setDoOutput(true) куда-то «присабачить».Но, что это вообще(в лекциях о нем не где не было),погуглил, и тут толком не понял, что это и для чего. Попробовал рандомно эго повпиховать, но и тут успеха не получил.Подскажите, а то голову ломаю, и не могу понять. package com.javarush.task.pro.task15.task1523; import java.io.*; import java.net.URL; import java.net.URLConnection; /* Получение информации по API */ public class Solution < public static void main(String[] args) throws IOException < URL url = new URL("http://httpbin.org/post"); URLConnection urs = url.openConnection(); try (OutputStream os = urs.getOutputStream(); ) < os.write(1); os.flush(); >catch (Exception e) < >try (InputStream is = urs.getInputStream(); BufferedReader bf = new BufferedReader(new InputStreamReader(is)) ) < while (bf.ready()) < System.out.println(bf.readLine()); >> catch (Exception e) < >> >

Дерево классов

Твоя задача — обратиться к публичному API в интернете: отправить и получить данные.
Напиши программу, которая будет обращаться по ссылке к публичному API в интернете, отправляя туда данные, получать ответные данные и выводить их на экран.

Подсказки:

  1. Используй метод openConnection() класса URL .
  2. Используй методы setDoOutput(true) и getOutputStream() класса URLConnection .
  3. Если не знаешь, какой API использовать, бери http://httpbin.org/post.

Требования:
Программа должна выводить полученную информацию на экран.
В программе должен вызываться метод openConnection() класса URL.

В программе должны вызываться методы setDoOutput(true), getOutputStream() и getInputStream() класса URLConnection.

Solution.java

  • Solution.java

package com.javarush.task.pro.task15.task1523; import java.io.*; import java.net.URL; import java.net.URLConnection; /* Получение информации по API */ public class Solution < public static void main(String[] args) throws IOException < URL url = new URL("http://httpbin.org/post"); URLConnection urs = url.openConnection(); try (OutputStream os = urs.getOutputStream(); ) < os.write(1); os.flush(); >catch (Exception e) < >try (InputStream is = urs.getInputStream(); BufferedReader bf = new BufferedReader(new InputStreamReader(is)) ) < while (bf.ready()) < System.out.println(bf.readLine()); >> catch (Exception e) < >> >

Комментарии (12)

  • популярные
  • новые
  • старые

Для того, чтобы оставить комментарий Вы должны авторизоваться
Уровень 24
23 октября 2022, 15:21

Вот тут инфо, может, будет полезной кому-то https://runebook.dev/ru/docs/openjdk/java.base/java/net/urlconnection

Уровень 32
19 июня 2022, 16:09

Какова функция или назначение HttpURLConnection.setDoInputand HttpURLConnection.setDoOutput? Это может означать, что вы хотите прочитать информацию из ответа или что вы хотите ввести информацию в его запрос. В документации говорится: Для ввода и / или вывода можно использовать URL-соединение. Установка флага doInput в значение true указывает, что приложение намерено считывать данные из URL-соединения. Значение по умолчанию этого поля равно true . Итак, если вы хотите игнорировать данные из ответа, вы можете установить для doInput значение false. Если вы хотите использовать getInputStream(), то вам следует оставить это в покое или установить для него значение true. Для ввода и / или вывода можно использовать URL-соединение. Установка флага doOutput в значение true указывает, что приложение намерено записывать данные в URL-соединение. Значение по умолчанию этого поля равно false . Поэтому, если вы хотите добавить данные к запросу (вызывая getOutputStream()), вы должны установить значение doOutput равным true.

Отправка HTTP POST запроса в Java

Проблема отправки HTTP POST запроса в Java является распространенной задачей, с которой сталкиваются разработчики при работе с веб-сервисами. Например, есть веб-страница, которая принимает POST запросы с определенными параметрами. Необходимо написать код на Java, который будет отправлять такой запрос.

В Java для работы с HTTP предусмотрены специальные классы, такие как HttpURLConnection и HttpClient . Ниже представлен пример кода, который демонстрирует, как можно отправить POST запрос с помощью класса HttpURLConnection .

try < URL url = new URL("http://www.example.com/page.php"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); String params = "id=10"; byte[] postData = params.getBytes(StandardCharsets.UTF_8); try (DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) < wr.write(postData); >try (BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), «UTF-8»))) < String inputLine; while ((inputLine = in.readLine()) != null) < System.out.println(inputLine); >> > catch (IOException e)

В этом примере создается объект HttpURLConnection , устанавливается метод запроса POST и активируется возможность отправки данных. Затем формируются данные для отправки, которые записываются в поток вывода соединения. В конце происходит чтение ответа от сервера.

Начиная с Java 11, доступен еще один способ для отправки HTTP запросов — класс HttpClient . Пример отправки POST запроса с помощью этого класса:

HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("http://www.example.com/page.php")) .POST(HttpRequest.BodyPublishers.ofString("id=10")) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());

Здесь создается объект HttpClient , формируется POST запрос с помощью HttpRequest.Builder , а затем отправляется запрос и получается ответ от сервера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *