好吧,所以我有以下情況,我有一個Java應用程序,用戶可以登錄,一旦他們這樣做會產生一個隨機密鑰,我希望發送這個密鑰到我的網站使用http請求。Android的HTTP請求與發佈數據
在網絡端,我將它插入到數據庫中供以後使用,這已經在工作。
現在在這個時刻我非常喜歡java端。我使用下面的代碼來嘗試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();
}
}
在網絡方面我有一個路徑設置爲抓住這一請求,並簡單的拋出一個日誌::信息,以便我可以檢查是否請求甚至還未獲得在那裏,這看起來像如下:
public function create() {
Log::info('I got here, hurray!');
}
現在當我打的網址在瀏覽器中,我可以看到日誌出現,當我用我的應用程序,我不知道。但是也沒有錯誤。
最後,我想使用POST請求,並將隨機密鑰和設備ID都發送到網站。任何幫助,非常感謝
您可以使用[OkHttp(HTTP://方.github.io/okhttp /)庫。這會讓你的任務更容易。 – pike
http://stackoverflow.com/questions/11766878/sending-files-using-post-with-httpurlconnection下面的鏈接將幫助你 – Anjali
你似乎沒有調用'conn.connect()'... – injecteer