网络编程-http连接-GET&POST

GetRequest

package com.net.http;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;

public class GetRequest {

    private String url;
    private String param;
    public GetRequest(String url,String param){
        this.url=url;
        this.param=param;
    }

    public String sendRequest(){
        String result="";

            URL realUrl;
            try {
                realUrl = new URL(url);
                HttpURLConnection conn = (HttpURLConnection)realUrl.openConnection();
                conn.setRequestMethod("GET");
                conn.setRequestProperty("accept", "*/*");
                conn.setRequestProperty("connection", "Keep-Alive");
                conn.setRequestProperty("user-agent", "Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1; SV1)");
                conn.setDoOutput(true);
                conn.setDoInput(true);

                try(PrintWriter out =new PrintWriter(conn.getOutputStream())){
                    out.println(param);
                    out.flush();
                }
                Map<String,List<String>> map= conn.getHeaderFields();
                for(String key : map.keySet()){
                    System.out.println(key+ "---->"+map.get(key));
                }

                try(BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"))){
                    String line;
                    while((line=in.readLine())!=null){
                        result += "\n" + line;
                        System.out.println(line);
                    }
                }

            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return result;    

    }

}

test类

package com.net.http;

public class GetTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        new GetRequest("http://www.mocky.io/v2/574199bc120000d522a581ba","name=get").sendRequest();
    }

}

-------------------------------------------------------------------------------------------------------------------------------------------------------------

PostRequest

package com.net.http;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import java.util.Map;

public class PostRequest {

    private String result ="";
    private String url;
    private String parm;
    private String urlName;

    public PostRequest(String url, String parm){
        this.url=url;
        this.parm=parm;
        if(parm==null){
            this.urlName=url;
        }else{
            this.urlName=url+"?"+ parm;
        }

    }

    public String sendRequest(){

        URL realUrl;
        try {
            realUrl = new URL(urlName);
            HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("accept", "*/*");
            conn.setRequestProperty("connection", "Keep-Alive");
            conn.setRequestProperty("user-agent", "Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1; SV1)");
            conn.connect();

            Map<String,List<String>> map= conn.getHeaderFields();
            for(String key : map.keySet()){
                System.out.println(key+ "---->"+map.get(key));
            }

            try(BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()))){
                String line;
                while((line=in.readLine())!=null){
                    result += "\n" + line;
                    System.out.println(line);
                }
            }
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return result;
    }
}

test类

package com.net.http;

public class PostTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        new PostRequest("http://www.mocky.io/v2/574199bc120000d522a581ba",null).sendRequest();
    }

}
时间: 2024-08-29 07:10:26

网络编程-http连接-GET&POST的相关文章

java网络编程长连接的问题

一. 网络程序运行过程中的常见异常及处理 第1个异常是 java.net.BindException:Address already in use: JVM_Bind. 该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时.异常的原因是以为与port一样的一个端口已经被启动,并进行监 听.此时用netstat –an命令,可以看到一个Listending状态的端口.只需要找一个没有被占用的端口就能解决这个问题. 第2个异常是java.

网络编程-TCP连接-length

在使用readLine方式时,常常会遇到因为没有结束标记,而导致阻塞现象. 如果不想使用结束标记,这里可以使用一个固定长度的byte[],来获取流. server package com.net.tcp.length; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.Ser

网络编程-TCP连接-readLine

Server: package com.net.tcp; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; public class MyServer { public static void mai

ACE网络编程

ACE: Adaptive Communication Environment 自适应通信环境,属于主机基础设施中间件SAP:服务点访问ACE模拟提供了所以C++标准库的类下载地址:http://ace.ece.uci.edu/ 或 http://www.riverace.com1.网络通信的设计空间:1).通信空间:交互规则.形式2).并发空间:并发控制.同步3).服务空间:持续时间.结构4).配置空间:网络服务识别.绑定 2.面向对象中间件体系结构的层次1).主机基础设施中间件:对OS并发机

网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门

1.前言 即时通讯网整理了大量的网络编程类基础文章和资料,包括<TCP/IP协议 卷1>.<[通俗易懂]深入理解TCP协议>系列.<网络编程懒人入门>系列.<不为人知的网络编程>系列.<P2P技术详解>系列.<高性能网络编程>系列.甚至还有图文并貌+实战代码的<NIO框架入门>等,目的是帮助即时通讯类应用的开发者,至少要掌握网络编程最基本的原理,所谓知其然更要知其所以然.尤其现在移动网络大行其道的时代,在网络环境如此复杂的

网络编程懒人入门(九):通俗讲解,有了IP地址,为何还要用MAC地址?

1.前言 标题虽然是为了解释有了 IP 地址,为什么还要用 MAC 地址,但是本文的重点在于理解为什么要有 IP 这样的东西.本文对读者的定位是知道 MAC 地址是什么,IP 地址是什么. (本文同步发布于:http://www.52im.net/thread-2067-1-1.html) 2.关于作者 翟志军,个人博客地址:https://showme.codes/,Github:https://github.com/zacker330.感谢作者的原创分享. 作者的另一篇<即时通讯安全篇(七)

cocos2d-x网络编程 连接php服务器笔记1

学习cocos2d-x网络编程是一个非常尴尬的问题,因为熟悉cocos2d-x的学习者基本在游戏开发一块属于客户端编程,想自学网络编程必不可少的牵扯到服务器这块.但是问题是,谁会呢?离开服务器,那搞网络编程无疑就是海市蜃楼镜花水月.官网示例虽然有http短连接和socket长连接的例子但反正我看了之后不知所以,不明白怎么把它用在实际问题中.网上教程也大都是泛泛而谈,不是一些人尽皆知的大道理就是部分不能运行的源码,根本就没有从零教你怎么实现的文章.手游服务器用的技术我们不大可能很了解,据说长连接的

《UNIX网络编程》之多客户连接服务端,可重用套接字对

该网络编程之客户端与服务端程序模板支持: 1. 多客户端同时连接服务端,即服务程序可以同时为多个客户端服务: 2. 服务端支持套接字对重用,即即使处于TIME_WAIT状态,仍可支持服务端重启: 3. 服务端可以发现客户端是否已断开连接: 4. 支持客户端标准输入会显,服务端从标准输出显示客户端所输入内容. 程序如下,记下该模板以备再次使用: 客户端程序如下: /*******************************************************************

网络编程(2)——连接父类URLConnection

在前面网络编程(1)中我们了解到如果想要访问其他主机的资源,那么就得知道该资源的URL.那么如果知道了该URL,我们该怎样去访问其主机上的资源呢?本文主要讲清楚Java语言编程的Android网络编程的最基础的父类URLConnectiion,该类是利用URL来实现主机资源的访问,其每个子类的特点都进一步优化并支持新的网络协议,达到从全面到局部,从广泛到精细的系统学习. 从JavaAPI中可以看到 java.lang.Object java.net.URLConnection URLConnec