`
卡拉阿风
  • 浏览: 100822 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

httpclient notes

 
阅读更多

http提交form数据参考:The enctype attribute of the FORM element specifies the content type used to encode the form data set for submission to the server. User agents must support the content types listed below. Behavior for other content types is unspecified.

http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1

 

http post数据的时候还需要考虑无key的情况,所以requst方法函数在RequestMothod为POST的时候,需要对传入参数加个判断进行处理

 

《httpclient-tutorial-simplified-chinese》1.3.4 请求重试处理:为了开启自定义异常恢复机制,应该提供一个HttpRequestRetryHandler接口的实现。

import java.io.IOException;

import javax.net.ssl.SSLHandshakeException;

import org.apache.http.HttpEntityEnclosingRequest;
import org.apache.http.HttpRequest;
import org.apache.http.NoHttpResponseException;
import org.apache.http.protocol.ExecutionContext;
import org.apache.http.protocol.HttpContext;

public class HttpRequestRetryHandler implements
        org.apache.http.client.HttpRequestRetryHandler {
        
        int _retries;
        
        public HttpRequestRetryHandler(int retries) {
                _retries = retries;
        }

    public boolean retryRequest(IOException exception, int executionCount, HttpContext context) {
        if (executionCount >= _retries) {
            // Do not retry if over max retry count
            return false;
        }
        if (exception instanceof NoHttpResponseException) {
            // Retry if the server dropped connection on us
            return true;
        }
        if (exception instanceof SSLHandshakeException) {
            // Do not retry on SSL handshake exception
            return false;
        }
        HttpRequest request = (HttpRequest) context.getAttribute(
                ExecutionContext.HTTP_REQUEST);
        boolean idempotent = !(request instanceof HttpEntityEnclosingRequest); 
        if (idempotent) {
            // Retry if the request is considered idempotent 
            return true;
        }
        return false;
    }

}
 HTTP/1.1 明确地定义了幂等的方法,描述如下[方法也可以有“幂等”属性在那些(除了错误或过期问题)N的副作用>0的相同请求和独立的请求是相同的]换句话说,应用程序应该保证准备着来处理多个相同方法执行的实现。这是可以达到的,比如,通过提供一个独立的事务ID和其它避免执行相同逻辑操作的方法。
0
0
分享到:
评论

相关推荐

    org.apache.commons.httpclient-3.1.jar

    - `RELEASE_NOTES.txt`:记录了该版本的发布说明,包括新特性、改进和已知问题。 - `LICENSE.txt`:包含了Apache Commons HttpClient的许可协议,它遵循Apache 2.0许可证,允许免费使用和修改源代码。 - `README.txt...

    httpClient4.3官方包

    在实际使用中,用户还需要参考压缩包中提供的文档,如`RELEASE_NOTES.txt`记录了版本更新内容,`LICENSE.txt`和`NOTICE.txt`分别说明了许可协议和使用限制,`README.txt`可能包含了一些使用指导或注意事项。...

    apache HttpClient jar包

    文件列表中的`LICENSE.txt`、`NOTICE.txt`、`README.txt`和`RELEASE_NOTES.txt`分别包含了Apache HttpClient的授权协议信息、版权声明、项目简介和版本发布说明。这些文件对理解项目的许可条件、使用限制和最新更新...

    HttpClient

    在Apache HttpClient的jar包中,`RELEASE_NOTES.txt`包含了版本更新的历史记录和改进;`LICENSE.txt`是Apache License 2.0的文本,表明HttpClient遵循该开源协议;`README.txt`可能包含项目的简介和快速入门指南;`...

    httpclient相关的jar包

    2. `RELEASE_NOTES.txt`:记录了版本的发布说明,包括新功能、修复的bug、版本间的差异等,对于开发者升级或选择合适版本非常有用。 3. `LICENSE.txt`:包含了库的许可协议,规定了如何合法地使用、修改和分发这个...

    httpcomponents-client-5.1-bin.zip

    `RELEASE_NOTES.txt`则详细记录了每个版本的更新内容和改进,这对于跟踪版本变化和解决兼容性问题至关重要。`LICENSE.txt`和`NOTICE.txt`分别提供了软件的许可协议和版权信息,确保我们在使用时遵循正确的法律条款。...

    RELEASE-NOTES.txt

    ### Apache Any23 2.4 Release Notes #### 概述 Apache Any23是一款功能强大的Web数据抽取工具,能够将网页中的结构化数据转换为RDF(Resource Description Framework)等标准格式,以便于进一步的数据处理与分析。...

    commons-codec-1.3-src.tar.gz

    - `RELEASE-NOTES-1.2.txt`和`RELEASE-NOTES-1.1.txt`:这些是版本发布笔记,记录了每个版本的主要变更和改进。 - `TODO`:通常包含开发人员待完成的任务列表。 - `src`:源代码目录,其中包含了所有源代码文件。 - ...

    Java-401-reading-notes

    - **HTTP请求**:使用HttpURLConnection或第三方库(如Apache HttpClient)发送HTTP请求。 9. **反射**: - **Class类**:获取类的信息,动态创建对象,调用方法。 - **注解处理**:自定义注解并利用反射进行元...

    C#在WinForm应用程序中实现自动升级

    <ReleaseNotes>修复了若干bug,新增了功能X</ReleaseNotes> ``` **2. 客户端检查更新** 在WinForm应用程序中,可以使用`HttpClient`类来请求服务器的版本信息文件,解析后与本地版本进行比较: ```csharp using ...

    notes:学习过程中的笔记

    - **HTTP客户端**:使用HttpURLConnection或第三方库如Apache HttpClient进行HTTP请求。 8. **反射**: - 反射允许程序在运行时检查类、接口、字段和方法的信息,并能够动态调用方法和访问字段。 9. **泛型**: ...

    六个java源程序.rar_chat_chat java_简单计算器_简单计算器java_邮件 java

    3. **Java实现URL带参数请求**:这通常需要使用`java.net.URL`、`HttpURLConnection`或者第三方库如Apache HttpClient或OkHttp。开发者需要构造URL字符串,设置请求头和参数,然后发送GET或POST请求,最后解析响应...

    6个java源代码~

    这部分代码展示了如何使用Java的HttpURLConnection或者HttpClient类来发送HTTP请求,特别是GET请求携带参数。开发者需要理解HTTP协议的基本概念,如URL结构和请求头的设置。同时,需要掌握Java网络编程,包括打开...

    NotesApp:Notes应用程序用于制作简短的文本注释,在需要时进行更新以及在完成后进行回收

    5. **网络编程**: Java的HttpURLConnection或第三方库如Apache HttpClient,可用于实现云同步功能,与服务器进行数据交换。 6. **事件驱动编程**: Java中的事件监听机制使得NotesApp能够响应用户的各种操作,如点击...

    java_6_source.rar_LOTUS_telnet java_简单计算器java

    在Java中,通过使用Lotus Notes Java API,开发者可以创建和管理Lotus Domino的数据。这里的代码可能是用于建立一个Java客户端,使用telnet协议连接到Domino服务器,进行数据查询或者交互操作。TelnetApp.java可能...

    Wii Watcher-开源

    这一过程可能利用了 .Net 的 `HttpClient` 类或者 `WebClient` 类,来实现对网页的抓取和解析。 2. **库存检测**:应用会解析返回的网页内容,查找与库存相关的关键词或元素,判断 Nintendo Wii 是否有货。这可能...

    JavaPracticeNotes:Java精选笔记

    - HttpURLConnection和HttpClient库支持HTTP协议的请求和响应。 8. **反射** - 反射API允许在运行时检查类、接口、字段和方法的信息,动态创建对象和调用方法。 9. **泛型** - 泛型引入了类型参数,提高了代码...

Global site tag (gtag.js) - Google Analytics