当前位置: 首页 > news >正文

JAVA使用HTTP代码示例

以下是使用Java发送HTTP请求的示例代码:

```java

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.HttpURLConnection;

import java.net.URL;

public class HttpExample {

public static void main(String[] args) {

try {

// 创建URL对象

URL url = new URL("Example Domain");

// 打开连接

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

// 设置请求方法

conn.setRequestMethod("GET");

// 获取响应码

int responseCode = conn.getResponseCode();

// 读取响应内容

BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));

String inputLine;

StringBuffer response = new StringBuffer();

while ((inputLine = in.readLine()) != null) {

response.append(inputLine);

}

in.close();

// 输出响应内容

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

} catch (Exception e) {

e.printStackTrace();

}

}

}

```

这个示例代码使用了`HttpURLConnection`类来发送HTTP请求,并读取响应内容。你可以根据需要修改请求方法、请求头、请求体等参数。

import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.Authenticator;import java.net.HttpURLConnection;import java.net.InetSocketAddress;import java.net.PasswordAuthentication;import java.net.Proxy;import java.net.URL;class ProxyAuthenticator extends Authenticator {private String user, password;public ProxyAuthenticator(String user, String password) {this.user     = user;this.password = password;}protected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(user, password.toCharArray());}}/*** 注意:下面代码仅仅实现HTTP请求链接,每一次请求都是无状态保留的,仅仅是这次请求是更换IP的,如果下次请求的IP地址会改变* 如果是多线程访问的话,只要将下面的代码嵌入到你自己的业务逻辑里面,那么每次都会用新的IP进行访问,如果担心IP有重复,* 自己可以维护IP的使用情况,并做校验。*/public class ProxyDemo {public static void main(String args[]) throws Exception {// 要访问的目标页面String targetUrl = "http://ip.hahado.cn/ip";//String targetUrl = "http://ip.hahado.cn/switch-ip";//String targetUrl = "http://ip.hahado.cn/current-ip";// 代理服务器String proxyServer = "ip.hahado.cn";int proxyPort      = 39010;// 代理隧道验证信息String proxyUser  = "username";String proxyPass  = "password";try {URL url = new URL(targetUrl);Authenticator.setDefault(new ProxyAuthenticator(proxyUser, proxyPass));// 创建代理服务器地址对象InetSocketAddress addr = new InetSocketAddress(proxyServer, proxyPort);// 创建HTTP类型代理对象Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);// 设置通过代理访问目标页面HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy);// 设置IP切换头connection.setRequestProperty("Proxy-Switch-Ip","yes");// 解析返回数据byte[] response = readStream(connection.getInputStream());System.out.println(new String(response));} catch (Exception e) {System.out.println(e.getLocalizedMessage());}}/*** 将输入流转换成字符串** @param inStream* @return* @throws Exception*/public static byte[] readStream(InputStream inStream) throws Exception {ByteArrayOutputStream outSteam = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len = -1;while ((len = inStream.read(buffer)) != -1) {outSteam.write(buffer, 0, len);}outSteam.close();inStream.close();return outSteam.toByteArray();}}
http://www.lryc.cn/news/89202.html

相关文章:

  • 【网络协议详解】——电子邮件系统协议(学习笔记)
  • 年度发布 | MeterSphere一站式开源持续测试平台发布v2.10 LTS版本
  • 从 OceanBase 迁移数据到 DolphinDB
  • 淘宝商品列表数据接口(支持价格、销量排序)
  • Android 11 版本变更总览
  • 传染病学模型 | Matlab实现基于SIS传染病模型模拟城市内人口的互相感染及城市人口流动所造成的传染
  • 物联网技术如何改变我们的生活:一位资深物联网专家的见解
  • node.js+vue.js大学生在线选课系统的设计与实现93pul
  • 华为OD机试真题 Java 实现【寻找符合要求的最长子串】【2023Q1 200分】
  • 接口测试工具Postman接口测试图文教程
  • 视频编辑软件:迅捷视频工具箱
  • 网络知识点之-HTTP协议
  • K类函数和KL类函数
  • 华为OD机试之完美走位(Java源码)
  • Vue 原始(传统)或特别的视频组件具体实现方法
  • 香豆素荧光标记652966-03-5,ATTO425 acid,ATTO 425 羧酸,进行简析说明
  • linux信号量与PV操作知识点总结
  • 6-python中的string类型
  • Windows系统内核溢出漏洞提权
  • BlackIce病毒分析
  • 软件测试基础知识整理(八)- 软件缺陷
  • 有没有想过一种可能,30岁之后,转行去做IT售前?
  • 基于决策树的Ensemble方法在边缘计算中的应用
  • golang常见导致panic的场景
  • Python 修改文件权限+只读后几行 can‘t do nonzero end-relative seeks
  • 每日学术速递5.25
  • GAMES202作业1
  • Android 12.0状态栏居中显示时间和修改时间显示样式
  • 湍流的数值模拟方法概述
  • openFast中的陆上风电机组5MW_Land_DLL_WTurb参数详解