欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java使用socket发送http post请求,javasocket,package cn.o

来源: javaer 分享于  点击 19908 次 点评:162

java使用socket发送http post请求,javasocket,package cn.o


package cn.outofmemory.snippets.core;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.InetAddress;import java.net.Socket;import java.net.URLEncoder;public class SendHTTPPOSTRequestWithSocket {    public static void main(String[] args) {        try {            String params = URLEncoder.encode("param1", "UTF-8")                              + "=" + URLEncoder.encode("value1", "UTF-8");            params += "&" + URLEncoder.encode("param2", "UTF-8")                              + "=" + URLEncoder.encode("value2", "UTF-8");            String hostname = "mysite.com";            int port = 80;            InetAddress addr = InetAddress.getByName(hostname);            Socket socket = new Socket(addr, port);            String path = "/myapp";            // Send headers            BufferedWriter wr =                             new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));            wr.write("POST "+path+" HTTP/1.0\r\n");            wr.write("Content-Length: "+params.length()+"\r\n");            wr.write("Content-Type: application/x-www-form-urlencoded\r\n");            wr.write("\r\n");            // Send parameters            wr.write(params);            wr.flush();            // Get response            BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));            String line;            while ((line = rd.readLine()) != null) {                System.out.println(line);            }            wr.close();            rd.close();        }        catch (Exception e) {            e.printStackTrace();        }    }}
相关栏目:

用户点评