Я отправляю данные хинди/английского/маратхи на сервер. Серверная сторона может обнаруживать данные, если они находятся на английском языке, но они не могут обнаружить ее, если данные находятся на хинди/маратхи. Я использую нижеприведенный код для этого -Различать язык данных, отправленных на WebServer?
public static String sendDataToServer(String urlString, String parameter) {
try {
if (TextUtils.isEmpty(urlString) || TextUtils.isEmpty(parameter))
return null;
URL url = new URL(urlString);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("POST");
urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);
urlConnection.setFixedLengthStreamingMode(parameter.length());
urlConnection.setReadTimeout(10000);
urlConnection.setConnectTimeout(45000);
urlConnection.connect();
DataOutputStream dataOutputStream = new DataOutputStream(urlConnection.getOutputStream());
dataOutputStream.writeBytes(parameter);
dataOutputStream.flush();
dataOutputStream.close();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
String input;
StringBuilder stringBuilder = new StringBuilder();
while ((input = bufferedReader.readLine()) != null) {
stringBuilder.append(input);
}
bufferedReader.close();
return stringBuilder.toString();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
Я также пытался установить кодировку, но она все еще не работает. Указанные ниже код, в котором я кодирование данных, -
public static String submitDataToServer(String urlString, String parameter1, String parameter2) {
try {
Uri.Builder builder = new Uri.Builder()
.appendQueryParameter(Constants.USER_NAME, parameter1)
.appendQueryParameter(Constants.USER_REVIEW, parameter2);
String query = builder.build().getEncodedQuery();
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setDoInput(true);
conn.setRequestProperty("Content-Length", "" + query.getBytes().length);
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(query);
writer.flush();
writer.close();
os.close();
conn.connect();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String input;
StringBuilder stringBuilder = new StringBuilder();
while ((input = bufferedReader.readLine()) != null) {
stringBuilder.append(input);
}
bufferedReader.close();
return stringBuilder.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
Пожалуйста, дайте мне знать, если я делаю что-то неправильно в этом коде. Также дайте мне знать, какой метод подходит в соответствии с моими требованиями.
Заранее спасибо.
Если сервер не в состоянии обнаружить его, не вы должны искать пути решения этой проблемы на стороне сервера? – frz3993
Где вы принимали? –
Вы можете вставить свой код api здесь –