Не работает post запрос

Ответить
KiberQ
Сообщения: 3
Зарегистрирован: 02 янв 2014, 13:55

Не работает post запрос

Сообщение KiberQ » 03 янв 2014, 19:44

Нагуглил пример в интернете:

[syntax=java] public void HttpPost() {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.somesite.com/somescript.php");

try {
//Добавляем свои данные
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("id", "12345"));
nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

// Выполняем HTTP Post Request
HttpResponse response = httpclient.execute(httppost);

} catch (ClientProtocolException e) {
Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_LONG).show();
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_LONG).show();
}
}[/syntax]

Постоянно нарываюсь на "catch", когда у других, судя по комментариям, всё работает. Что я делаю не так?

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Не работает post запрос

Сообщение altwin » 03 янв 2014, 19:56

какое исключение срабатывает, не пробовали делать printStackTrace? Вы уверенны, что http://www.somesite.com/somescript.php - принимает POST запросы?


P.S. я бы предпочел использовать:
[syntax=java]
/**
* Send an HTTP(s) request with POST parameters.
*
* @param parameters
* @param url
* @throws UnsupportedEncodingException
* @throws IOException
* @throws KeyManagementException
* @throws NoSuchAlgorithmException
*/
static void doPost(Map<?, ?> parameters, URL url)
throws UnsupportedEncodingException, IOException,
KeyManagementException, NoSuchAlgorithmException {

URLConnection cnx = getConnection(url);

// Construct data
StringBuilder dataBfr = new StringBuilder();
Iterator<?> iKeys = parameters.keySet().iterator();
while (iKeys.hasNext()) {
if (dataBfr.length() != 0) {
dataBfr.append('&');
}
String key = (String) iKeys.next();
dataBfr.append(URLEncoder.encode(key, "UTF-8")).append('=')
.append(
URLEncoder.encode((String) parameters.get(key),
"UTF-8"));
}
// POST data
cnx.setDoOutput(true);

OutputStreamWriter wr = new OutputStreamWriter(cnx
.getOutputStream());
Log.d(LOG_TAG, "Posting crash report data");
wr.write(dataBfr.toString());
wr.flush();
wr.close();

Log.d(LOG_TAG, "Reading response");
BufferedReader rd = new BufferedReader(new InputStreamReader(cnx
.getInputStream()));

String line;
int linecount = 0;
while ((line = rd.readLine()) != null) {
linecount++;
if(linecount <= 2) {
Log.d(LOG_TAG, line);
}
}
rd.close();
}
[/syntax]
Изображение

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Не работает post запрос

Сообщение anber » 03 янв 2014, 20:01

Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

Ответить