package com.jm.http.tools;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL; import org.apache.log4j.Logger; /**
* HTTP请求代理类
*
* @author hsw
* @version 1.0, 2007-7-3
*/
public class UrlOpreate { private static Logger logger = Logger.getLogger(UrlOpreate.class); /**
* POST
**/
public static String sendPostRequest(String requestUrl, String payload) {
StringBuffer jsonString = new StringBuffer();
HttpURLConnection connection=null;
BufferedReader br=null;
try {
URL url = new URL(requestUrl);
connection = (HttpURLConnection) url.openConnection(); connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST"); connection.setRequestProperty("user-agent", "Mozilla/5.0 (compatible; MSIE 11.0; Windows NT 6.1; Trident/5.0)");
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
connection.setReadTimeout(300000);
connection.setConnectTimeout(300000); OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");
writer.write(payload);
writer.close();
br = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line;
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
br.close();
connection.disconnect(); }catch(Exception e){
e.printStackTrace();
br = new BufferedReader(new InputStreamReader(connection.getErrorStream()) );
String line;
try {
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}finally{
connection.disconnect();
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return jsonString.toString();
}
public static String sendPostRequestH(String requestUrl, String payload) {
StringBuffer jsonString = new StringBuffer();
HttpURLConnection connection=null;
BufferedReader br=null;
try {
URL url = new URL(requestUrl);
connection = (HttpURLConnection) url.openConnection(); connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
connection.setRequestProperty("resultData", payload);
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");
writer.write("");
writer.close();
br = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line;
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
br.close();
connection.disconnect(); }catch(Exception e){
e.printStackTrace();
br = new BufferedReader(new InputStreamReader(connection.getErrorStream()) );
String line;
try {
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}finally{
connection.disconnect();
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return jsonString.toString();
} /**
* PUT
**/ public static String doPut(String strUrl,String param){
StringBuffer jsonString = new StringBuffer();
HttpURLConnection httpCon=null;
BufferedReader br=null;
try{
URL url = new URL(strUrl);
httpCon = (HttpURLConnection) url.openConnection();
httpCon.setDoOutput(true);
httpCon.setRequestMethod("PUT");
OutputStreamWriter out = new OutputStreamWriter(
httpCon.getOutputStream());
out.write(param);
out.close();
br = new BufferedReader(new InputStreamReader(httpCon.getInputStream())); String line;
while ((line = br.readLine()) != null) {
jsonString.append(line);
} }catch(Exception e){
e.printStackTrace();
br = new BufferedReader(new InputStreamReader(httpCon.getErrorStream()) );
String line;
try {
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}finally{
httpCon.disconnect();
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return jsonString.toString();
} public static String getHTML2(String urlToRead) throws Exception {
StringBuilder result = new StringBuilder();
URL url = new URL(urlToRead);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("PUT");
try{
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line;
while ((line = rd.readLine()) != null) {
result.append(line);
}
rd.close();
}catch(Exception e){ System.out.println(conn.getResponseCode()); } return result.toString();
} /**
* GET
**/
public static String getHTML(String urlToRead) throws Exception {
BufferedReader br=null;
StringBuilder result =null;
HttpURLConnection conn=null;
try{
result = new StringBuilder();
URL url = new URL(urlToRead);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
result.append(line);
}
}catch(Exception e){
e.printStackTrace();
br = new BufferedReader(new InputStreamReader(conn.getErrorStream()) );
String line;
try {
while ((line = br.readLine()) != null) {
result.append(line);
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}finally{
conn.disconnect();
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} return result.toString();
}
public static String getHTML(String urlToRead,String payload) throws Exception {
StringBuffer jsonString = new StringBuffer();
BufferedReader br=null;
URL url = new URL(urlToRead);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
try { connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");
writer.write(payload);
writer.close();
br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String line;
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
br.close();
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
br = new BufferedReader(new InputStreamReader(connection.getErrorStream()) );
String line;
try {
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
return jsonString.toString();
}
public static String getHTMLXQ(String urlToRead,String payload) throws Exception {
StringBuffer jsonString = new StringBuffer();
BufferedReader br=null;
URL url = new URL(urlToRead);
//http://nealcai.iteye.com/blog/2084442
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
try {
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
connection.setRequestProperty("Connection", "keep-alive");
connection.setRequestProperty("Cookie", "Hm_lvt_1db88642e346389874251b5a1eded6e3=1529975814,1530498921,1530522215,1530522465; __utma=1.2081209674.1521790939.1527061820.1530522218.3; __utmz=1.1530522218.3.3.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; device_id=eee17d8ff8702c633d2e5aef40091e3b; _ga=GA1.2.2081209674.1521790939; aliyungf_tc=AQAAANJkmXYQ0AUADTpltt1aHoUGzyIQ; xq_a_token=7443762eee8f6a162df9eef231aa080d60705b21; xq_a_token.sig=3dXmfOS3uyMy7b17jgoYQ4gPMMI; xq_r_token=9ca9ab04037f292f4d5b0683b20266c0133bd863; xq_r_token.sig=6hcU3ekqyYuzz6nNFrMGDWyt4aU; Hm_lpvt_1db88642e346389874251b5a1eded6e3=1530522562; _gid=GA1.2.257714409.1530498922; u=941530498925106; __utmc=1; s=e81dkxiqhm");
connection.setRequestProperty("Referer", "https://xueqiu.com/S/SH600507/ZYCWZB");
connection.setRequestProperty("Accept-Encoding", "gzip, deflate, br");
connection.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2");
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0");
connection.setRequestProperty("Host", "xueqiu.com");
connection.setRequestProperty("Upgrade-Insecure-Requests", "1");
connection.setRequestProperty("Cache-Control", "max-age=0");
connection.connect();
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");
writer.write(payload);
writer.close();
br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
br.close();
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
br = new BufferedReader(new InputStreamReader(connection.getErrorStream()) );
String line;
try {
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
return jsonString.toString();
} /**
* DELETE
**/
public static void deleteHTML(String urlToRead) throws Exception {
URL url = new URL(urlToRead);
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setDoOutput(true);
httpCon.setRequestProperty(
"Content-Type", "application/x-www-form-urlencoded" );
httpCon.setRequestMethod("DELETE");
httpCon.connect();
httpCon.disconnect(); } public static String deleteHTML(String strUrl,String param){
StringBuffer jsonString = new StringBuffer();
HttpURLConnection httpCon=null;
BufferedReader br=null;
try{
URL url = new URL(strUrl);
httpCon = (HttpURLConnection) url.openConnection();
httpCon.setDoOutput(true);
httpCon.setRequestMethod("DELETE");
OutputStreamWriter out = new OutputStreamWriter(
httpCon.getOutputStream());
out.write(param);
out.close();
br = new BufferedReader(new InputStreamReader(httpCon.getInputStream())); String line;
while ((line = br.readLine()) != null) {
jsonString.append(line);
} }catch(Exception e){
e.printStackTrace();
br = new BufferedReader(new InputStreamReader(httpCon.getErrorStream()) );
String line;
try {
while ((line = br.readLine()) != null) {
jsonString.append(line);
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}finally{
httpCon.disconnect();
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return jsonString.toString();
} }

HTTP请求代理类(GET 、 POST 、PUT 、DELETE)的更多相关文章

  1. HTTP请求状态类

    <?php /** * 常用常量文件 * */ /** * HTTP协议请求状态 */ class HttpRequest { //100类 ----用于指定客户端应相应的某些动作---- co ...

  2. C# http请求工具类

    /// <summary> /// Http请求操作类之HttpWebRequest /// </summary> public class HttpHelper { #reg ...

  3. Struts2 源码分析——Action代理类的工作

    章节简言 上一章笔者讲到关于如何加载配置文件里面的package元素节点信息.相信读者到这里心里面对struts2在启动的时候加载相关的信息有了一定的了解和认识.而本章将讲到关于struts2启动成功 ...

  4. 解析利用wsdl.exe生成webservice代理类的详解

    利用wsdl.exe生成webservice代理类:根据提供的wsdl生成webservice代理类1.开始->程序->Visual Studio 2005 命令提示2.输入如下红色标记部 ...

  5. 【C++沉思录】代理类

    1.考虑下面的场景:设计一个容器,包含一组类型不同但相互关联的对象(比如:Animal,Dog,Cat),对象具备多态行为.2.容器一般只能包含一种类型的对象,使用vector<Animal&g ...

  6. 根据WSDL生成代理类方式

    方式一: 1.使用VS2010提供的工具wsdl.exe由WSDL文件生成cs文件 使用wsdl.exe的/serverInterface选项(或缩写的 /si)指定输入的wsdl文件(注意,如果要转 ...

  7. C++的代理类

    怎样在一个容器中包含类型不同,但是彼此有关系的对象?众所周知,C++的容器只能存放类型相同的元素,所以直接在一个容器中存储不同类型的对象本身是不可能的,只能通过以下两种方案实现: 1. 提供一个间接层 ...

  8. c++沉思录 学习笔记 第五章 代理类

    Vehicle 一个车辆的虚基类 class Vehicle {public: virtual double weight()const = 0; virtual void start() = 0; ...

  9. .net 代理类(WebService代理类的详解 )

    http://hi.baidu.com/654085966/item/53ee8c0f108ad78202ce1b1d   -----------转自 客户端调用Web Service的方式我现在知道 ...

随机推荐

  1. 关于禅道提示未安装VC++环境的问题(做个记录)

    明明安装了VC++环境,总是提示未安装,这个问题有可能是你的mysql或其他服务开启影响的,关闭服务就可以了! 我这边是这个问题,把mysql和其他一些服务停止就好了.

  2. springboot 配置拦截器

    1 有这样一个需求 服务端对部分请求URL需要验证身份.如果验证错误,停止请求,按照既定的数据格式返回:如果验证正确,继续执行请求. 2 需要这样做 1. 将指定格式的请求拦截下来: 2. 获取参数, ...

  3. WPF中的Application类。

    原文:WPF中的Application类. Application对象用的名称空间是system.windows 1.手动创建Application对象步骤. 1.1).把项目中的App.Xaml文件 ...

  4. asp .net mvc 获得用户IP

    string strHostName = System.Net.Dns.GetHostName(); //clientIPAddress是一个数组,可能有多个数据 var clientIPAddres ...

  5. Converter

    public class ImgPathConvert : IValueConverter { public object Convert(object value, Type targetType, ...

  6. 【摘抄】C# DateTime.Now详解

    //2008年4月24日 System.DateTime.Now.ToString("D"); //2008-4-24 System.DateTime.Now.ToString(& ...

  7. 浅谈Android高通(Qualcomm)和联发科(MTK)平台

    一款CPU好不好是要从多个方面考虑的,并不是说简简单单看一个主频.几个核心数就完了,更重要的是它的综合实力到底有多强,这里面当然也会牵扯到价格问题,性能相似当然是便宜的获胜,这是毋庸置疑的. 事实上, ...

  8. GIS基础软件及操作(六)

    原文 GIS基础软件及操作(六) 练习六.空间分析的应用 1.加深对缓冲区分析基本原理.方法的认识:2.熟练掌握距离制图创建缓冲区技术方法.3.掌握利用缓冲区分析方法解决地学空间分析问题的能力. 1. ...

  9. “重定向次数过多”或者“Too many automatic redirections were attempted”的错误:

    C# 代码 C# code? 1 2 3 4 5 6 7 8 9 String url="http://www.google.com.hk/search?hl=zh-CN&q=孟宪会 ...

  10. intellij开发安卓与genymotion配合

    原文:intellij开发安卓与genymotion配合 [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http: ...