java socket 实现get post 请求
2012-06-19 23:37
246 查看
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
class HttpRequestBean {
private String ip;
private String realm;
private int port;
private String url;
private String params;
private boolean isPOST;
// getter 、setter方法略
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getRealm() {
return realm;
}
public void setRealm(String realm) {
this.realm = realm;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getParams() {
return params;
}
public void setParams(String params) {
this.params = params;
}
public boolean isPOST() {
return isPOST;
}
public void setPOST(boolean isPOST) {
this.isPOST = isPOST;
}
}
public class HttpSocketUtil {
private static String httpPOSTSocket(String ip, String realm, int port,
String url, String params) throws UnknownHostException, IOException {
Socket s = new Socket(ip, port);
PrintWriter pw = new PrintWriter(new OutputStreamWriter(s
.getOutputStream()));
if (url.startsWith("/")) {
url = url.substring(1);
}
int index2 = url.indexOf("?");
if (index2 > 0) {
url = url.substring(0, index2);
}
pw.println("POST " + url + " HTTP/1.1");
pw.println("Host:" + realm);
pw.println("Accept-Language: zh-cn,zh;q=0.5");
pw.println("Accept-Encoding: gzip,deflate");
pw.println("Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7");
pw.println("Connection: keep-alive");
pw.println("Cookie: ASPSESSIONIDCSAATTCD=DOMMILABJOPANJPNNAKAMCPK");
pw.println("Content-Type: application/x-www-form-urlencoded");
int leng = params.length();
pw.println("Content-Length: " + leng);
pw.println();
pw.println(params);
pw.println();
pw.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(s
.getInputStream()));
String temp = null;
while((temp = br.readLine()) != "")
{
System.out.println(temp);
}
br.close();
pw.close();
s.close();
return temp;
}
public static String httpSocket(HttpRequestBean httpBean)
throws UnknownHostException, IOException {
if (httpBean.isPOST()) {
System.out.println("POST");
return httpPOSTSocket(httpBean);
} else {
System.out.println("GET...");
return httpGETSocket(httpBean);
}
}
private static String httpGETSocket(String ip, String realm, int port,
String url) throws UnknownHostException, IOException {
Socket s = new Socket(ip, port);
PrintWriter pw = new PrintWriter(new OutputStreamWriter(s
.getOutputStream()));
if (url.startsWith("/")) {
url = url.substring(1);
}
pw.println("GET " + url + " HTTP/1.1");
pw.println("Host:" + realm);
pw.println("Accept-Language: zh-cn,zh;q=0.5");
pw.println("Accept-Encoding: gzip,deflate");
pw.println("Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7");
pw.println("Connection: keep-alive");
// pw.println("Cookie: ASPSESSIONIDCSAATTCD=DOMMILABJOPANJPNNAKAMCPK");
pw.println("Content-Type: text/http");
pw.println();
pw.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(s
.getInputStream()));
String temp = null;
while((temp = br.readLine()) != "")
{
System.out.println(temp);
}
br.close();
pw.close();
s.close();
return temp;
}
private static String httpPOSTSocket(HttpRequestBean httpBean)
throws UnknownHostException, IOException {
return httpPOSTSocket(httpBean.getIp(), httpBean.getRealm(), httpBean
.getPort(), httpBean.getUrl(), httpBean.getParams());
}
private static String httpGETSocket(HttpRequestBean httpBean)
throws UnknownHostException, IOException {
return httpGETSocket(httpBean.getIp(), httpBean.getRealm(), httpBean
.getPort(), httpBean.getUrl());
}
public static void main(String[] args) {
String content = null;
HttpRequestBean httpBean = new HttpRequestBean();
String ip = "www.cnblogs.com";
httpBean.setIp(ip);
httpBean.setParams("tbUserName=123");
httpBean.setPort(80);
//httpBean.setUrl("http://www.cnblogs.com/");
httpBean.setUrl("http://passport.cnblogs.com/login.aspx");
httpBean.setPOST(true);
httpBean.setRealm(ip);
try {
content = httpSocket(httpBean);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(content);
}
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
class HttpRequestBean {
private String ip;
private String realm;
private int port;
private String url;
private String params;
private boolean isPOST;
// getter 、setter方法略
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getRealm() {
return realm;
}
public void setRealm(String realm) {
this.realm = realm;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getParams() {
return params;
}
public void setParams(String params) {
this.params = params;
}
public boolean isPOST() {
return isPOST;
}
public void setPOST(boolean isPOST) {
this.isPOST = isPOST;
}
}
public class HttpSocketUtil {
private static String httpPOSTSocket(String ip, String realm, int port,
String url, String params) throws UnknownHostException, IOException {
Socket s = new Socket(ip, port);
PrintWriter pw = new PrintWriter(new OutputStreamWriter(s
.getOutputStream()));
if (url.startsWith("/")) {
url = url.substring(1);
}
int index2 = url.indexOf("?");
if (index2 > 0) {
url = url.substring(0, index2);
}
pw.println("POST " + url + " HTTP/1.1");
pw.println("Host:" + realm);
pw.println("Accept-Language: zh-cn,zh;q=0.5");
pw.println("Accept-Encoding: gzip,deflate");
pw.println("Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7");
pw.println("Connection: keep-alive");
pw.println("Cookie: ASPSESSIONIDCSAATTCD=DOMMILABJOPANJPNNAKAMCPK");
pw.println("Content-Type: application/x-www-form-urlencoded");
int leng = params.length();
pw.println("Content-Length: " + leng);
pw.println();
pw.println(params);
pw.println();
pw.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(s
.getInputStream()));
String temp = null;
while((temp = br.readLine()) != "")
{
System.out.println(temp);
}
br.close();
pw.close();
s.close();
return temp;
}
public static String httpSocket(HttpRequestBean httpBean)
throws UnknownHostException, IOException {
if (httpBean.isPOST()) {
System.out.println("POST");
return httpPOSTSocket(httpBean);
} else {
System.out.println("GET...");
return httpGETSocket(httpBean);
}
}
private static String httpGETSocket(String ip, String realm, int port,
String url) throws UnknownHostException, IOException {
Socket s = new Socket(ip, port);
PrintWriter pw = new PrintWriter(new OutputStreamWriter(s
.getOutputStream()));
if (url.startsWith("/")) {
url = url.substring(1);
}
pw.println("GET " + url + " HTTP/1.1");
pw.println("Host:" + realm);
pw.println("Accept-Language: zh-cn,zh;q=0.5");
pw.println("Accept-Encoding: gzip,deflate");
pw.println("Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7");
pw.println("Connection: keep-alive");
// pw.println("Cookie: ASPSESSIONIDCSAATTCD=DOMMILABJOPANJPNNAKAMCPK");
pw.println("Content-Type: text/http");
pw.println();
pw.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(s
.getInputStream()));
String temp = null;
while((temp = br.readLine()) != "")
{
System.out.println(temp);
}
br.close();
pw.close();
s.close();
return temp;
}
private static String httpPOSTSocket(HttpRequestBean httpBean)
throws UnknownHostException, IOException {
return httpPOSTSocket(httpBean.getIp(), httpBean.getRealm(), httpBean
.getPort(), httpBean.getUrl(), httpBean.getParams());
}
private static String httpGETSocket(HttpRequestBean httpBean)
throws UnknownHostException, IOException {
return httpGETSocket(httpBean.getIp(), httpBean.getRealm(), httpBean
.getPort(), httpBean.getUrl());
}
public static void main(String[] args) {
String content = null;
HttpRequestBean httpBean = new HttpRequestBean();
String ip = "www.cnblogs.com";
httpBean.setIp(ip);
httpBean.setParams("tbUserName=123");
httpBean.setPort(80);
//httpBean.setUrl("http://www.cnblogs.com/");
httpBean.setUrl("http://passport.cnblogs.com/login.aspx");
httpBean.setPOST(true);
httpBean.setRealm(ip);
try {
content = httpSocket(httpBean);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(content);
}
相关文章推荐
- 【网络】JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- PHP中使用cURL实现Get和Post请求的方法
- C++ 简单实现HTTP GET/POST 请求
- java实现:http协议get和post方法的url参数请求响应及交互
- php使用cURL实现Get和Post请求的方法
- 通过AsyncTask实现网络请求的方式,get和post
- PHP中使用CURL实现GET和POST请求
- 在PHP中使用CURL实现GET和POST请求的方法
- Python 使用requests模块发送GET和POST请求的实现代码
- [置顶] 策略模式实现 retrofit 的get和post请求的公共参数(一)
- Java实现http get post请求
- PHP中使用cURL实现Get和Post请求的方法
- Android用Apache HttpClient 实现POST和Get请求