`
lxy2330
  • 浏览: 468570 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HttpUrlConnection不能设置Host

    博客分类:
  • java
 
阅读更多

调试了一天终于找到原因了,奶奶的!!  测试就报503错误,用CURL没有问题,根源原来是JDK的自我保护!!!

出于安全考虑,jdk的HttpUrlConnection里面,如果你设置一个叫做Host的头,该类会“不动声色”的忽略过去,这时候需要在启动参数里加上一个-Dsun.net.http.allowRestrictedHeaders=true,或者选用HttpClient系列的东西来完成网络请求。

 

这个操作相当于Linux上的命令  wget   –header="Host: hostname"  url

分享到:
评论

相关推荐

    JavaProx多项目多工程代理HttpUrlConnection

    在Java编程环境中,多项目多工程的代理设置是一项常见的需求,尤其在进行网络请求时,如使用HttpUrlConnection。这个场景通常涉及到多个独立的开发项目或模块,它们可能需要通过同一代理服务器访问互联网资源,或者...

    基于Socket和HttpURLConnection的爬虫实例

    HttpURLConnection可以处理HTTP的各种特性,如重定向、请求方法(GET、POST等)、设置头部信息等。 以下是一个基于Socket的简单爬虫示例: ```java Socket socket = new Socket("www.example.com", 80); ...

    Host

    在IT行业中,"Host"通常指的是计算机网络中的主机或者服务器,它是网络中能够提供特定服务或运行特定应用程序的设备。在Java编程语言中,处理主机相关的任务涉及到网络编程,这通常包括TCP/IP通信、DNS解析、HTTP...

    Java中使用IE Proxy代理的方法

    在Java编程中,有时我们需要通过Internet Explorer(IE)的代理设置来访问网络资源,这主要适用于需要模拟用户网络环境或避开...在实际项目中,确保正确配置和测试代理设置,以确保应用程序在网络访问方面能正常工作。

    java程序如何穿透带有密码验证的代理.doc

    然后,通过设置系统属性,我们指定了要使用的代理服务器的类型(类型4表示SOCKS代理)、端口、主机和启用代理设置。在`main`方法中,我们创建了一个`URL`对象,并通过`HttpURLConnection`打开到该URL的连接。由于...

    http请求 网络请求 从网路读数据

    2. **请求头**:包含客户端的一些信息,如User-Agent(标识浏览器类型)、Accept(指定可接受的响应内容类型)、Host(指定请求的服务器地址)等。 3. **空行**:分隔请求头和请求体,对于GET请求,通常没有请求体...

    andoird java.net.URL类使用

    比如,你可以使用`URL.openStream()`来获取网页的输入流,或者使用`URL.openConnection()`来建立一个`HttpURLConnection`,这为更复杂的网络操作提供了可能,如设置请求头、处理响应码等。 服务器端通信通常涉及到...

    cookie 自动管理

    1. 使用HttpURLConnection:Android原生的HttpURLConnection并不直接支持Cookie管理,但可以通过设置请求头手动处理。首先,你需要从响应头中解析出Set-Cookie字段,然后在下次请求时将Cookie添加到请求头的Cookie...

    URL网址链接

    在实际应用中,可能还需要考虑到URL编码和解码的问题,因为URL中不能包含某些字符。`java.net.URLEncoder.encode()`和`java.net.URLDecoder.decode()`方法可以帮助我们完成这项工作。 此外,对于现代Web应用,HTTPS...

    超时处理abc

    可以分别通过`HttpClient`的`RequestConfig`或`HttpURLConnection`的`setConnectTimeout(int timeout)`和`setReadTimeout(int timeout)`方法来设置连接超时和读取超时。 3. **线程超时**:Java的`Future.get(long ...

    java UrlUtil tools

    - `openConnection(URL url)` 创建并返回一个HttpURLConnection对象,已设置好连接参数。 - `readContent(HttpURLConnection connection)` 读取并返回HTTP响应的内容。 6. **源码阅读**: 标签中提到的"源码...

    有用的CIM POST

    认证确保只有授权的用户或系统能执行请求,授权则控制用户可以执行哪些操作,而数据加密则保护传输过程中的敏感信息。 6. **实现和工具**: 实现CIM POST操作通常需要编程,使用像Python的requests库或者Java的...

    java发送邮件和发送短信代码

    props.put("mail.smtp.host", "smtp.example.com"); props.put("mail.smtp.port", "587"); props.put("mail.smtp.auth", "true"); Session session = Session.getInstance(props, new Authenticator() { protected...

    雅晴|AiY! Quarto For Android 源代码

    4. **网络通信**:由于依赖"雅晴-bis" API,源码中可能有使用`HttpURLConnection`、`Volley`、`Retrofit`或`OkHttp`等库进行网络请求的代码。 5. **数据存储**:可能使用SQLite数据库进行本地数据存储,或者使用`...

    java模拟http请求的错误问题整理

    解决这个问题的方法是使用 `HttpURLConnection` 类来设置超时时间。例如: ```java HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); connection.setConnectTimeout(3000); // ...

    Android WebSocket两种连接方式.zip

    connection.setRequestProperty("Host", "your-websocket-host"); connection.setRequestProperty("Origin", "http://your-origin-url"); connection.setRequestProperty("Sec-WebSocket-Key", "your-key"); ...

    利用Http协议实现断点续传.pdf

    这种技术可以显著提升文件传输的效率,尤其是在网络不稳定的情况下。 #### 二、断点续传的实现原理 断点续传的核心在于记录和识别文件传输的中断点。通常情况下,可以通过以下步骤实现: 1. **记录中断点**:当...

    Java获取MQ连接数的Demo.zip

    // 设置RabbitMQ服务器的地址,通常格式为"amqp://username:password@host:port/virtualHost" factory.setHost("localhost"); // 可能还需要设置用户名、密码、端口和虚拟主机等参数 try (Connection ...

    Java 实例 - 解析 URL源代码+详细指导教程.zip

    如果URL不完整,可能会抛出`MalformedURLException`。 4. **URL组件访问**: 一旦有了URL对象,可以使用`getProtocol()`, `getHost()`, `getPath()`, `getQuery()`, `getPort()`等方法获取各个组件。例如,`url....

Global site tag (gtag.js) - Google Analytics