包含javahttp交互的词条

博主:adminadmin 2022-12-29 11:15:06 856

今天给各位分享javahttp交互的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java如何调用对方http接口 新手虚心求教

import java.io.BufferedReader;  

import java.io.DataOutputStream;  

import java.io.InputStreamReader;  

import java.net.HttpURLConnection;  

import java.net.URL;  

import java.net.URLEncoder;  

  

public class DemoTest1 {  

  

    public static final String GET_URL = "";  

//    public static final String POST_URL = "";  

    // 妙兜测试接口  

    public static final String POST_URL = "";  

      

    /** 

     * 接口调用 GET 

     */  

    public static void httpURLConectionGET() {  

        try {  

            URL url = new URL(GET_URL);    // 把字符串转换为URL请求地址  

            HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 打开连接  

            connection.connect();// 连接会话  

            // 获取输入流  

            BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));  

            String line;  

            StringBuilder sb = new StringBuilder();  

            while ((line = br.readLine()) != null) {// 循环读取流  

                sb.append(line);  

            }  

            br.close();// 关闭流  

            connection.disconnect();// 断开连接  

            System.out.println(sb.toString());  

        } catch (Exception e) {  

            e.printStackTrace();  

            System.out.println("失败!");  

        }  

    }  

      

    /** 

     * 接口调用  POST 

     */  

    public static void httpURLConnectionPOST () {  

        try {  

            URL url = new URL(POST_URL);  

              

            // 将url 以 open方法返回的urlConnection  连接强转为HttpURLConnection连接  (标识一个url所引用的远程对象连接)  

            HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 此时cnnection只是为一个连接对象,待连接中  

              

            // 设置连接输出流为true,默认false (post 请求是以流的方式隐式的传递参数)  

            connection.setDoOutput(true);  

              

            // 设置连接输入流为true  

            connection.setDoInput(true);  

              

            // 设置请求方式为post  

            connection.setRequestMethod("POST");  

              

            // post请求缓存设为false  

            connection.setUseCaches(false);  

              

            // 设置该HttpURLConnection实例是否自动执行重定向  

            connection.setInstanceFollowRedirects(true);  

              

            // 设置请求头里面的各个属性 (以下为设置内容的类型,设置为经过urlEncoded编码过的from参数)  

            // application/x-javascript text/xml-xml数据 application/x-javascript-json对象 application/x-www-form-urlencoded-表单数据  

            // ;charset=utf-8 必须要,不然妙兜那边会出现乱码【★★★★★】  

            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");     

              

            // 建立连接 (请求未开始,直到connection.getInputStream()方法调用时才发起,以上各个参数设置需在此方法之前进行)  

            connection.connect();  

              

            // 创建输入输出流,用于往连接里面输出携带的参数,(输出内容为?后面的内容)  

            DataOutputStream dataout = new DataOutputStream(connection.getOutputStream());  

              

            String app_key = "app_key="+ URLEncoder.encode("4f7bf8c8260124e6e9c6bf094951a111", "utf-8");        // 已修改【改为错误数据,以免信息泄露】  

            String agt_num = "agt_num="+ URLEncoder.encode("10111", "utf-8");              // 已修改【改为错误数据,以免信息泄露】  

            String pid = "pid="+ URLEncoder.encode("BLZXA150401111", "utf-8");             // 已修改【改为错误数据,以免信息泄露】  

            String departid = "departid="+ URLEncoder.encode("10007111", "utf-8");         // 已修改【改为错误数据,以免信息泄露】  

            String install_lock_name = "install_lock_name="+ URLEncoder.encode("南天大门", "utf-8");  

            String install_address = "install_address="+ URLEncoder.encode("北京育新", "utf-8");  

            String install_gps = "install_gps="+ URLEncoder.encode("116.350888,40.011001", "utf-8");  

            String install_work = "install_work="+ URLEncoder.encode("小李", "utf-8");  

            String install_telete = "install_telete="+ URLEncoder.encode("13000000000", "utf-8");  

            String intall_comm = "intall_comm="+ URLEncoder.encode("一切正常", "utf-8");  

              

            // 格式 parm = aaa=111bbb=222ccc=333ddd=444  

            String parm = app_key+ agt_num+ pid+ departid+ install_lock_name+ install_address+ install_gps+ install_work+ install_telete+ intall_comm;  

              

            // 将参数输出到连接  

            dataout.writeBytes(parm);  

              

            // 输出完成后刷新并关闭流  

            dataout.flush();  

            dataout.close(); // 重要且易忽略步骤 (关闭流,切记!)   

              

//            System.out.println(connection.getResponseCode());  

              

            // 连接发起请求,处理服务器响应  (从连接获取到输入流并包装为bufferedReader)  

            BufferedReader bf = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));   

            String line;  

            StringBuilder sb = new StringBuilder(); // 用来存储响应数据  

              

            // 循环读取流,若不到结尾处  

            while ((line = bf.readLine()) != null) {  

//                sb.append(bf.readLine());  

                sb.append(line).append(System.getProperty("line.separator"));  

            }  

            bf.close();    // 重要且易忽略步骤 (关闭流,切记!)   

            connection.disconnect(); // 销毁连接  

            System.out.println(sb.toString());  

      

        } catch (Exception e) {  

            e.printStackTrace();  

        }  

    }  

      

    public static void main(String[] args) {  

//        httpURLConectionGET();  

        httpURLConnectionPOST();  

    }  

}

java前台与后台的交互是什么意思

前台点了发布按钮之后,会有用一个包含发布命令的action传给后台,这个action里包含内容参数,后台接收这些参数之后进行处理,比如检查新闻内容有没有关键字,内容是不是为空,是不是超长,没问题的话插入数据库,再把结果返回个前台的页面。比如发布成功之后实现页面跳转,或者显示成功的信息。你先看一下关于form表单提交的知识

JAVA 怎么实现HTTP的POST方式通讯,以及HTTPS方式传递

虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK

库本身提供的功能还不够丰富和灵活。HttpClient 是 Apache Jakarta Common

下的子项目,用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。以下是简单的post例子:

String url = "";

PostMethod postMethod = new PostMethod(url);

// 填入各个表单域的值

NameValuePair[] data = { new NameValuePair("id", "youUserName"),

new NameValuePair("passwd", "yourPwd") };

// 将表单的值放入postMethod中

postMethod.setRequestBody(data);

// 执行postMethod

int statusCode = httpClient.executeMethod(postMethod);

// HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发

// 301或者302

if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY ||

statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {

// 从头中取出转向的地址

Header locationHeader = postMethod.getResponseHeader("location");

String location = null;

if (locationHeader != null) {

location = locationHeader.getValue();

System.out.println("The page was redirected to:" + location);

} else {

System.err.println("Location field value is null.");

}

return;

}

详情见:

关于javahttp交互和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。