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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> HttpURLConnection + POST 
:(
    Опции темы
semiromid
Дата 6.9.2015, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте. Подскажите пожалуйста, как правильно передать POST запрос с параметрами. То есть заголовки не нужны а только параметры ( тело запроса по стандартной кодировке которая по умолчанию в  HTML application/x-www-form-urlencoded )

Вот код но как сюда вставить запрос?

Код
private static String getContent() throws IOException {
        BufferedReader reader=null;
        try {
            URL url=new URL("http://MySite.com/transcription777/");
            HttpURLConnection c=(HttpURLConnection)url.openConnection();
            
            //заголовки (пока не использую)
              /*
               * //conn.setRequestProperty("Charsert", "UTF-8");
          //conn.setRequestProperty("content-type","text/html");
          //conn.setRequestProperty("Content-type", "application/x-java-serialized-
               * 
               */
            
            c.setRequestMethod("POST");
            c.setReadTimeout(10000); 
            c.setDoOutput(true);
            c.connect();
            
            OutputStream output = c.getOutputStream();
                
            reader= new BufferedReader(new InputStreamReader(c.getInputStream()));
            
            StringBuilder buf=new StringBuilder();
            String line=null;
            while ((line=reader.readLine()) != null) {
                buf.append(line + "\n");
                System.out.println("buf "+line);
            }
            return(buf.toString());
        }
        finally {
            if (reader != null) {
                reader.close();
            }
        }
    }



Говорят что при помощи :
Код
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("firstParam", paramValue1));
params.add(new BasicNameValuePair("secondParam", paramValue2));
params.add(new BasicNameValuePair("thirdParam", paramValue3));



Код
private String getQuery(List<NameValuePair> params) throws UnsupportedEncodingException
{
    StringBuilder result = new StringBuilder();
    boolean first = true;

    for (NameValuePair pair : params)
    {
        if (first)
            first = false;
        else
            result.append("&");

        result.append(URLEncoder.encode(pair.getName(), "UTF-8"));
        result.append("=");
        result.append(URLEncoder.encode(pair.getValue(), "UTF-8"));
    }

    return result.toString();
}


2.А обязательно это делать с использование этого класса - BasicNameValuePair, и если нет как можно сделать по другому ? 
3.Этот класс из библиотеки Апач , просто даже не понятно что и где нужно качать что бы можно было использовать этот класс ?
4.А что этот класс делает BasicNameValuePair?
5.И где можно узнавать подобную информацию что бы было нормально описано с примерами как справочник по MQL4/MQL5?
PM MAIL   Вверх
Samotnik
Дата 6.9.2015, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

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



Код


    private static String getContent() throws IOException {
        BufferedReader reader=null;
        try {
            URL url=new URL("http://MySite.com/transcription777/");
            HttpURLConnection c=(HttpURLConnection)url.openConnection();

            //заголовки (пока не использую)
              /*
               * //conn.setRequestProperty("Charsert", "UTF-8");
          //conn.setRequestProperty("content-type","text/html");
          //conn.setRequestProperty("Content-type", "application/x-java-serialized-
               *
               */

            c.setRequestMethod("POST");
            c.setReadTimeout(10000);
            c.setDoOutput(true);

            String urlParameters = "param1=ololo&param2=trololo"; //создаем обычную строку с параметрами

            DataOutputStream wr = new DataOutputStream(c.getOutputStream());
            wr.writeBytes(urlParameters);  //пишем параметры в поток
            wr.flush();
            wr.close();


            reader= new BufferedReader(new InputStreamReader(c.getInputStream()));

            StringBuilder buf=new StringBuilder();
            String line=null;
            while ((line=reader.readLine()) != null) {
                buf.append(line + "\n");
                System.out.println("buf "+line);
            }
            return(buf.toString());
        }
        finally {
            if (reader != null) {
                reader.close();
            }
        }
    }


Добавлено через 53 секунды
Не нужен тебе никакой BasicNameValuePair  smile 
PM MAIL   Вверх
semiromid
Дата 6.9.2015, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Samotnik @  6.9.2015,  19:22 Найти цитируемый пост)
String urlParameters = "param1=ololo&param2=trololo"; //создаем обычную строку с параметрами
            DataOutputStream wr = new DataOutputStream(c.getOutputStream());
            wr.writeBytes(urlParameters);  //пишем параметры в поток
            wr.flush();
            wr.close();

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

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

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


 




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


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

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