Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Соединение с сервером через https 
V
    Опции темы
nikss
Дата 15.11.2007, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 13.7.2007
Где: Украина, г.Киев

Репутация: нет
Всего: 1



Здравствуйте!
Ребята, подскажите пжалста, как мне запостить xml-файл на сервер через https соединение.
....
  connect=(HttpsURLConnection) (new URL(url)).openConnection();
  connect.setRequestMethod(requestMethod);
  connect.setUseCaches(false);
  connect.setDoInput(true);
  сonnect.setDoOutput(true);
  
  String srvCharset = "UTF-8";
  String ctypeHeader = "text/xml; charset="+ srvCharset;
  connect.addRequestProperty("Content-Type",ctypeHeader);
  byte[] data  = content.getBytes("UTF-8");
  //Здесь программа просто зависает без каких-либо сообщений
  DataOutputStream out=new DataOutputStream(this.connect.getOutputStream());
  out.write(data);
  if (out!=null) out.close();
.....

Подскажите, плиз, что не так!

PM MAIL ICQ   Вверх
nikss
Дата 16.11.2007, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 13.7.2007
Где: Украина, г.Киев

Репутация: нет
Всего: 1



Добавлю: сертификат находится только на стороне сервера.
Может кто-то сталкивался с такой проблемой?
PM MAIL ICQ   Вверх
nikss
Дата 16.11.2007, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 13.7.2007
Где: Украина, г.Киев

Репутация: нет
Всего: 1



Привел код к такому виду:
  .....
  Properties systemProperties = System.getProperties(); 
         systemProperties.setProperty("http.proxyHost",proxyIP); 
         systemProperties.setProperty("http.proxyPort",proxyPort); 
         this.server = new URL(url);
         this.connection = (HttpsURLConnection) this.server.openConnection();
         connection.setRequestMethod("POST");
         connection.addRequestProperty("Content-length", "10");
         connection.addRequestProperty("Content-Type", "text/xml");
         connection.setDoInput(true);

         if (HttpsURLConnection.HTTP_OK!=this.connection.getResponseCode()) 
//Здесь ошибка: java.net.SocketException: Network is unreachable: connect. 
                    throw new IOException("Соединение не установлено!"); 
         else
             System.out.println("Соединение установлено!");    
.....

Может в этой ситуации кто-то подскажет, что не так ?   smile 
PM MAIL ICQ   Вверх
_Michael
Дата 16.11.2007, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 23.6.2007
Где: з полонини

Репутация: 1
Всего: 6



nikss, попробуй использовать org.apache.commons.httpclient.HttpClient . качать отсюда http://jakarta.apache.org/httpcomponents/h.../downloads.html
Я в соседней ветке поднимал тоже вопрос об https авторизации. Решил использовать именно org.apache.commons.httpclient.HttpClient поскольку мне он показался понятней. Единственное что надо контролировать так ето куки, бо без них меня сервер не авторизировал. Вот пример работы с етим пакетом:
Код

import org.apache.commons.httpclient.Cookie;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.URI;
import org.apache.commons.httpclient.methods.PostMethod;
......
HttpClient cl = new HttpClient();
PostMethod postMethod = new PostMethod();
postMethod.setURI(new URI("https://www.google.com/accounts/ClientLogin", true));
//тело твоего реквеста 
NameValuePair[] data = new NameValuePair[] {
        new NameValuePair("Email", "[email protected]"),
        new NameValuePair("Passwd", "qwerty"),
// другие параметры
        new NameValuePair("param", "value") };
postMethod.setRequestBody(data);
//поля заголовка реквеста
postMethod.setRequestHeader("Connection", "Keep-Alive");
postMethod.setRequestHeader("Cache-Control", "no-cache");
//http код ответа.
int responseCode = cl.executeMethod(postMethod);
//ответ:
String responseBody = postMethod.getResponseBodyAsString();
System.out.println(responseBody);
  smile 

Это сообщение отредактировал(а) _Michael - 16.11.2007, 15:47


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
nikss
Дата 16.11.2007, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 13.7.2007
Где: Украина, г.Киев

Репутация: нет
Всего: 1



Спасибо, Michael! Все получилось!  smile 


PM MAIL ICQ   Вверх
_Michael
Дата 19.11.2007, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 23.6.2007
Где: з полонини

Репутация: 1
Всего: 6



 smile Don't worry, be happy smile


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.0523 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.