android uri appendqueryparameter,Android HttpURLConnection设置GET Request方法

我想用GET方法发送HTTP请求,但我无法设置GET方法.这是我的代码:

try {

URL url = new URL(path);

conn = (HttpURLConnection) url.openConnection();

conn.setReadTimeout(10000);

conn.setConnectTimeout(15000);

conn.setRequestMethod("GET");

conn.setDoInput(true);

conn.setDoOutput(true);

Uri.Builder builder = new Uri.Builder()

.appendQueryParameter("p1", "123")

.appendQueryParameter("p2", "123");

String query = builder.build().getEncodedQuery();

OutputStream os = conn.getOutputStream();

BufferedWriter writer = new BufferedWriter(

new OutputStreamWriter(os, "UTF-8"));

writer.write(query);

writer.flush();

writer.close();

os.close();

conn.connect();

Log.e("ERROR", conn.getResponseMessage());

Log.e("ERROR", conn.getRequestMethod());

Log.e("ERROR", String.valueOf(conn.getResponseCode()));

} catch (Exception e) {

Log.e("ERROR", e.getMessage());

}

在代码中,我设置了GET方法,但是在日志中,请求方法是POST:

02-01 16:48:54.766 23799-23831/? E/ERROR? Method Not Allowed

02-01 16:48:54.766 23799-23831/? E/ERROR? POST

02-01 16:48:54.766 23799-23831/? E/ERROR? 405

有什么问题?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Android Studio中将视频上传到服务器,可以使用以下步骤: 1. 在布局文件中添加一个带有选择文件按钮的UI元素,例如Button或ImageView。 2. 在Activity中设置点击事件,以便在选择文件按钮被按下时打开文件选择器。 3. 选择文件时使用Android的ContentResolver API获取文件的URI。 4. 使用Java的HttpURLConnection类或Android的Volley库等网络库,将文件数据上传到服务器。这需要创建一个HTTP POST请求,并将文件作为请求体发送到服务器。 5. 在服务器端接收请求并处理文件。可以使用Java的Servlet或PHP等服务器端语言来实现这一点。 以下是一个简单示例: ``` public void uploadVideo() { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("video/*"); startActivityForResult(intent, VIDEO_REQUEST_CODE); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == VIDEO_REQUEST_CODE && resultCode == RESULT_OK && data != null) { Uri videoUri = data.getData(); try { InputStream inputStream = getContentResolver().openInputStream(videoUri); HttpURLConnection connection = (HttpURLConnection) new URL(SERVER_URL).openConnection(); connection.setRequestMethod("POST"); connection.setDoOutput(true); OutputStream outputStream = connection.getOutputStream(); byte[] buffer = new byte[4096]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } outputStream.flush(); outputStream.close(); inputStream.close(); int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { // 上传成功 } else { // 上传失败 } } catch (Exception e) { e.printStackTrace(); } } } ``` 请注意,这只是一个简单的示例,需要根据您的服务器端实现进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值