Kitoved
@Kitoved
новичек

Надо отправить POST из android на сайт правильно ли я делаю?

есть такая ссылка
http://ваывыаы.ru/js/main.js.php?act=zve%20$_POST[%27nickname%27]%20$_POST[%27text%27]%20==%20%20$_POST[%27music%27]

нужно отправить привет с 3 параметрами nickname, text, music.

я так понимаю нужно отправить POST запрос
в потоке asyncTask делаю это, но ничего не получается
помогите найти правильное решение или исправить ошибку.

@Override
		  protected String doInBackground(Void... urls) {
	
			  
					HttpClient httpclient = new DefaultHttpClient();
					HttpPost httppost = new HttpPost("http://выфвфывфыв.ru/js/main.js.php");
				
				   try {
					   
					  
						 List pairs = new ArrayList();
						 nick = editText1.getText().toString();
						 text = editText2.getText().toString();
						 music = editText3.getText().toString();
							pairs.add(new BasicNameValuePair("nickname", nick ));
							pairs.add(new BasicNameValuePair("text", text));
							pairs.add(new BasicNameValuePair("music", music));
							httppost.setEntity(new UrlEncodedFormEntity(pairs));
							HttpResponse response = httpclient.execute(httppost);
							responseString = EntityUtils.toString(response.getEntity());
							
							
								   } catch (Exception e) {}
				   
		  return responseString;
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
Kitoved
@Kitoved Автор вопроса
новичек
В общем решил я свою проблему.
Помог вот этот код, кто может обьясните русским языком что за apach и что он делает. Я так понял это из за https и каких то сертификатов соответствия.
HostnameVerifier hostnameVerifier = org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER;

        DefaultHttpClient client = new DefaultHttpClient();
        SchemeRegistry registry = new SchemeRegistry();
        SSLSocketFactory socketFactory = SSLSocketFactory.getSocketFactory();
        socketFactory.setHostnameVerifier((X509HostnameVerifier) hostnameVerifier);
        registry.register(new Scheme("https", socketFactory, 443));
        SingleClientConnManager mgr = new SingleClientConnManager(client.getParams(), registry);
        DefaultHttpClient httpclient = new DefaultHttpClient(mgr, client.getParams());
        HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier);

final String url = "http://выфвфывфыв.ru/js/main.js.php";
        HttpPost httppost = new HttpPost(url);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
gadfi
@gadfi
https://gamega.org
1. проверьте правильно ли вы поняли что и куда нужно отправить через любой rest client (я использую postman)
2. используйте retrofit (года три не использую HttpClient чего и вам желаю )
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы