我是Android的新手,现在我已经厌倦了搜索有关Android HTTP请求的最佳教程。
我正在尝试将这些参数发送到phpServer,
Name =“some name”
email =“some email”
我们可以在MainActivity.java文件中执行此操作吗?这需要任何jar(库)文件吗? 欢迎任何建议。
我试过了,
@Override
public void onClick(View view) {
if(view == btnSubscribe){
HttpURLConnection client = null;
try {
URL url = new URL("http://www/somewebsite.com/API/SUBSCRIBE");
client = (HttpURLConnection) url.openConnection();
client.setRequestMethod("POST");
client.setRequestProperty("name","test one");
client.setRequestProperty("email","text@gmail.com");
client.setDoOutput(true);
OutputStream outputPost = new BufferedOutputStream(client.getOutputStream());
outputPost.flush();
outputPost.close();
client.setChunkedStreamingMode(0);
} catch(MalformedURLException error) {
showError("Handles an incorrectly entered UR");
}
catch(SocketTimeoutException error) {
showError("Handles URL access timeout");
}
catch (IOException error) {
showError("Handles input and output errors");
}finally {
if(client != null)
client.disconnect();
}
}
}
答案 0 :(得分:6)
我正在使用此代码并正常工作。试试这个代码。
public static String httpPostRequest(Context context, String url, String email) {
String response = "";
BufferedReader reader = null;
HttpURLConnection conn = null;
try {
LogUtils.d("RequestManager", url + " ");
LogUtils.e("data::", " " + data);
URL urlObj = new URL(url);
conn = (HttpURLConnection) urlObj.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
data += "&" + URLEncoder.encode("Email", "UTF-8") + "="
+ URLEncoder.encode(email, "UTF-8");
wr.write(data);
wr.flush();
LogUtils.d("post response code", conn.getResponseCode() + " ");
int responseCode = conn.getResponseCode();
reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
response = sb.toString();
} catch (Exception e) {
e.printStackTrace();
LogUtils.d("Error", "error");
} finally {
try {
reader.close();
if (conn != null) {
conn.disconnect();
}
} catch (Exception ex) {
}
}
LogUtils.d("RESPONSE POST", response);
return response;
}
答案 1 :(得分:0)