D'accord, j'ai la situation suivante, j'ai une application Java, où les utilisateurs peuvent se connecter, une fois qu'ils le font, il va générer une clé aléatoire, je souhaite envoyer cette clé à mon site web en utilisant des requêtes http .android Demande HTTP avec poste
Sur le côté Web je vais l'insérer dans la base de données pour une utilisation ultérieure, cela fonctionne déjà.
Maintenant, en ce moment, je suis très coincé avec le côté java. J'utilise le code suivant pour essayer la demande http:
private void startRegistration(String username, String password) {
String myRandomString = randomString(6);
String deviceId = "abc";
startToast(myRandomString);
try {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
insertDevice(myRandomString, deviceId);
} catch (IOException e) {
e.printStackTrace();
}
}
@TargetApi(Build.VERSION_CODES.KITKAT)
public void insertDevice(String randomString, String deviceId) throws IOException {
// String urlParameters = "key=" + randomString + "&device_id="+ deviceId;
// byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
// int postDataLength = postData.length;
String request = "http://website.com/test";
URL url = new URL(request);
HttpURLConnection conn= (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setInstanceFollowRedirects(false);
conn.setRequestMethod("GET");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("charset", "utf-8");
// conn.setRequestProperty("Content-Length", Integer.toString(postDataLength));
conn.setUseCaches(false);
try(DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {
// wr.write(postData);
Context context = getApplicationContext();
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, "test", duration);
toast.show();
}
}
Du côté web, j'ai un itinéraire fixé pour attraper cette demande et simple lance un journal :: informations pour que je puisse vérifier si la demande est encore jamais là, cela ressemble à suivre:
public function create() {
Log::info('I got here, hurray!');
}
maintenant quand je frappe l'URL dans mon navigateur je peux voir le journal qui apparaît, quand j'utiliser mon application, je ne sais pas. Mais il n'y a pas d'erreur non plus. À la fin, je voudrais utiliser une requête POST et envoyer à la fois la clé aléatoire et l'ID de l'appareil sur le site Web. toute aide est très appréciée
vous pouvez utiliser [OkHttp] (http: // carré .github.io/okhttp /) Bibliothèque. Cela rendra votre tâche beaucoup plus facile de cette façon. – pike
http://stackoverflow.com/questions/11766878/sending-files-using-post-with-httpurlconnection Le lien suivant vous aidera – Anjali
vous ne semblez pas appeler 'conn.connect()' ... – injecteer