Я изо всех сил пытаюсь выяснить, в чем проблема. Точный же код работает в другом проекте. Он работает в текущем проекте, если я укажу его на URL в предыдущем проекте, но по новому URL он просто не будет публиковать NameValuePairs.Android/PHP - Борьба за сообщение
Это то, что я использую, чтобы получить строку:
public static String getJSON(String url, List<BasicNameValuePair> params, int timeout) {
String response = "";
try {
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params);
URL uri = new URL(url);
HttpURLConnection request = (HttpURLConnection) uri.openConnection();
request.setUseCaches(false);
request.setDoOutput(true);
request.setDoInput(true);
request.setRequestMethod("POST");
OutputStream post = request.getOutputStream();
entity.writeTo(post);
post.flush();
BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream()));
String inputLine = "";
while ((inputLine = in.readLine()) != null) {
response += inputLine;
// res = response;
}
post.close();
in.close();
} catch (Exception e) {
Log.e("Your app", "error", e);
}
return response;
}
Это мой PHP-файл:
<?php
if (isset($_POST['Type'])){
print_r($_POST);
}else {
echo "No post received";
}
?>
Вот мой запрос:
List<BasicNameValuePair> nameValuePair = new ArrayList<BasicNameValuePair>(1);
nameValuePair.add(new BasicNameValuePair("Type", "20"));
nameValuePair.add(new BasicNameValuePair("version", "1.3"));
String stringArrayElement = "\n";
String result = Config.getJSON(Config.MyUrl + "test4.php", nameValuePair, 1000);
JSONObject JSON_DATA;
// Making HTTP Request
try {
JSON_DATA = new JSONObject(result);
Downloaded_menu_array = JSON_DATA.getJSONArray("Menu");
}catch (JSONException e){
e.printStackTrace();
}
всегда В моем PHP-файле попадает «Нет сообщений». Есть ли что-нибудь, что выпрыгивает с кодом, или я пропускаю что-то еще?
В PHP вы можете записывать '$ _REQUEST', чтобы показать, к какому запросу пришли? –
Я пробовал это, я просто получаю пустой пост, когда возвращаю print_r(); Код копируется и вставлен из другого моего проекта - разница - это только URL. Могу ли я пропустить что-то с публикациями ограничений через внешние источники? Я проверил максимальный размер сообщения в ini-файле, но он работает с тем же ini, что и с другим URL-адресом. Тот же сервер. – ScottC