JDK -GET,POST
GET

public class JDKActivity extends AppCompatActivity { EditText et1; RequestQueue requestQueue; //请求队列 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_jdk); et1=(EditText)findViewById(R.id.et1); } //显示结果 String str = ""; //JDK-GEt方式 public void bt_1(View v) { //1-启动进度对话框 final ProgressDialog pd = ProgressDialog.show(this,null,"请稍后……"); //2-启动子线程,访问远程服务器 new Thread() { @Override public void run() { //1-访问远程服务器 //JDK GET HttpURLConnection huc=null; try { //1-先构造URL对象 URL url = new URL("http://192.168.0.164:81/index.asp?name=mike&password=456"); //2-得到连接对象HttpURLConnection huc= (HttpURLConnection)url.openConnection(); //3-设置HttpURLConnection huc.setRequestMethod("GET"); huc.setConnectTimeout(3000); huc.setReadTimeout(3000); //4-连接远程服务器 huc.connect(); //5-接收响应报文的状态码 int code=huc.getResponseCode(); str = ""; //6-判断响应状态码,是否等于200 if (code==200) { //7-处理 //1-接收数据 //2-得到数据流 InputStream is = huc.getInputStream(); //读到的数据 byte[] b = new byte[1024]; //读到的数据长度 int i=0; while ((i=is.read(b))>0) { //接收字符串 str +=new String(b,0, i); } is.close(); } else { str="响应错误,错误码"+code; } //显示结果,不能直接跨线程访问主线程的视图 runOnUiThread(new Runnable() { @Override public void run() { et1.setText(str); } }); } catch (Exception e) { e.printStackTrace(); } finally { //8-关闭链接和进度对话框 //释放资源 if (huc!=null) { huc.disconnect(); } //支持跨线程访问 pd.dismiss(); } } }.start(); }
POST

//JDK-POST方式 public void bt_2(View v) { //1-启动进度对话框 final ProgressDialog pd = ProgressDialog.show(this,null,"请稍后……"); //2-启动子线程,访问远程服务器 new Thread() { @Override public void run() { //1-访问远程服务器 //JDK POST HttpURLConnection huc=null; try { //1-先构造URL对象 URL url = new URL("http://192.168.0.164:81/index.asp"); //2-得到连接对象HttpURLConnection huc= (HttpURLConnection)url.openConnection(); //3-设置HttpURLConnection huc.setRequestMethod("POST"); huc.setConnectTimeout(3000); huc.setReadTimeout(3000); //4-连接远程服务器,输出流 huc.connect(); //数据放到请求集里 //1)得到输入流 OutputStream os=huc.getOutputStream(); String outstr="name=tom&password=123 "; os.write(outstr.getBytes("UTF-8")); //5-接收响应报文的状态码 int code=huc.getResponseCode(); str = ""; //6-判断响应状态码,是否等于200 if (code==200) { //7-处理 //1-接收数据 //2-得到数据流,输入流 InputStream is = huc.getInputStream(); //读到的数据 byte[] b = new byte[1024]; //读到的数据长度 int i=0; while ((i=is.read(b))>0) { //接收字符串 str +=new String(b,0, i); } is.close(); os.close(); } else { str="响应错误,错误码"+code; } //显示结果,不能直接跨线程访问主线程的视图 runOnUiThread(new Runnable() { @Override public void run() { et1.setText(str); } }); } catch (Exception e) { e.printStackTrace(); } finally { //8-关闭链接和进度对话框 //释放资源 if (huc!=null) { huc.disconnect(); } //支持跨线程访问 pd.dismiss(); } } }.start(); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现