`

HttpClient连接服务器(HttpPost)

    博客分类:
  • Java
 
阅读更多

首先,注意一点,连接服务器都不在主线程中进行,因为连接服务需要时间,这里简要介绍相关实现
public static HttpClient hc = null;
public static String server1 = "http://192.168.6.74:8080/testHttpClient2/first";
private class DownloadPass extends Thread{
    try {
        hc = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(server1);
        httppost.addHeader("Content-Type", "application/json");
        httppost.addHeader("User-Agent", "imgfornote");
        String model = android.os.Build.MODEL;
        SharedPreferences preference0 = getSharedPreferences("serialNo", MODE_PRIVATE);
        String serialNo = preference0.getString("serialNo", "0");
        JSONObject obj = new JSONObject();
        obj.put("serialNo", serialNo);
        httppost.setEntity(new StringEntity(obj.toString()));
        HttpResponse response;
        response = hc.execute(httppost);
        int code = response.getStatusLine().getStatusCode();
       if(code==200){
         str1 = EntityUtils.toString(response.getEntity());
      }
    
        if(str1!=null&&!str1.equals("")){
         obj = new JSONObject(str1);
         String url = obj.getString("url");
         String updated = obj.getString("updated");
         String serialNo1 = obj.getString("serialNo");
         Intent intent = new Intent(Loading.this,DownloadPassService.class);
         intent.putExtra("serialNo", serialNo1);
         intent.putExtra("url", url.trim());
         startService(intent);
        }else{
         SharedPreferences preference = getSharedPreferences("pass", MODE_PRIVATE);
         preference.edit().clear().putBoolean("pass", true).commit();
       }
   } catch(ClientProtocolException e){
    e.printStackTrace();
   } catch (IOException e) {
    mProgressHandler.sendEmptyMessage(20);
    e.printStackTrace();
   } catch (Exception e) {
    e.printStackTrace();
   } finally
   {
    //postMethod.releaseConnection();
    shutdownHttpClient();
   }

private void shutdownHttpClient() {
        if (hc != null && hc.getConnectionManager() != null) {
         hc.getConnectionManager().shutdown();
        }
 }
}

分享到:
评论

相关推荐

    android httpclient文件上传 http协议post get方法向服务器传输数据

    在Android中,使用HTTPClient进行POST请求时,可以通过`HttpPost`对象设置`EntityEnclosingRequestBase`的`setEntity()`方法来添加请求实体,包含要发送的数据。 3. **HTTPClient文件上传**:在Android中,...

    httpClient httpPost httpGet 所需jar包

    2. HttpPost:HttpPost是HttpClient库中的一个类,用于执行HTTP POST请求。POST请求常用于向服务器发送数据,例如提交表单或上传文件。HttpPost对象允许我们设置请求头、URL以及请求体内容。 3. HttpGet:HttpGet是...

    MFC的HttpClient的Get和Post方法

    总结来说,MFC的HttpClient使得开发者能够方便地与HTTP服务器交互,执行GET和POST请求。通过理解HTTP协议的基本原理,结合MFC的WinInet库,你可以构建自己的HTTP客户端功能,实现各种网络通信需求。在实际编程时,...

    安卓链接服务器HttpClient、HttpPost所需jar

    在Android开发中,与服务器进行通信是不可或缺的一部分,而`HttpClient`和`HttpPost`是Java中常用的HTTP客户端库,它们允许应用通过HTTP协议发送请求并接收响应。在Android早期版本中,Android SDK内置了对`...

    HttpClient发送http请求(post和get)需要的jar包+内符java代码案例+注解详解

    CloseableHttpResponse response = httpClient.execute(httpPost); String responseBody = EntityUtils.toString(response.getEntity()); System.out.println(responseBody); httpClient.close(); } } ``` ...

    实现http协议两端httpserver和httpclient

    HTTPClient则是发起HTTP请求的端,它负责构造请求报文,连接到服务器,发送请求,然后接收并解析服务器返回的响应。在VC++中,实现HTTP Client同样需要理解套接字编程,同时还需要了解HTTP请求和响应的格式,以便...

    httpclient发送post请求

    5. 执行请求:通过HttpClient的`execute`方法发送请求,并获取响应,`CloseableHttpResponse response = httpClient.execute(httpPost);` 6. 处理响应:检查响应状态码,读取响应内容,如`StatusLine statusLine = ...

    HttpServer.zip_http servlet server_httpclient_http服务器_java https

    《构建Java HTTP服务器:HttpServlet、HttpClient与HTTPS详解》 在IT行业中,HTTP服务器是互联网应用的核心组件之一,用于接收并响应HTTP请求。本项目"HttpServer.zip"提供了一个独特的实现,它是一个全网唯一的...

    httpclient和httpcore的jar包

    1. **发起HTTP请求**:你可以通过HttpClient创建HttpGet、HttpPost等对象,设置URL、请求头和请求体,然后通过execute()方法发送请求。 2. **处理响应**:HttpClient返回的HttpResponse对象包含了服务器的响应状态码...

    采用 HttpClient GET、POST 方式 提交数据到服务器

    HttpResponse response = httpClient.execute(httpPost); String responseBody = EntityUtils.toString(response.getEntity()); System.out.println("Response body: " + responseBody); } } ``` 在这个例子中...

    httppost和httpclient一组开发包

    在Android开发中,HTTP通信是应用与服务器交互的基础,`HttpClient`和`HttpPost`就是其中常用的两个类,它们属于Apache的HTTP组件,虽然在Android API level 23之后被标记为过时,但由于其功能强大和灵活性高,仍被...

    android HttpPost请求连接服务器端的实例

    本实例将详细介绍如何在Android环境中使用HttpPost请求连接服务器,并处理相关的异常情况,如网络连接状态判断和请求超时。 首先,我们需要在Android应用中引入必要的库,通常我们会使用Apache HttpClient库来实现...

    httpclient 客户端发送xml报文到服务器端采用post方式(加密)传递

    首先,需要初始化HttpClient实例,设置连接参数,然后创建HttpPost对象,指定服务器URL。接着,将XML字符串转换为HttpEntity,作为请求体: ```java CloseableHttpClient httpClient = HttpClients.createDefault()...

    完整的HttpClient的get和post使用方法实例(java源代码)

    HttpResponse response = httpClient.execute(httpPost); // 处理响应 int statusLine = response.getStatusLine().getStatusCode(); System.out.println("Status Code: " + statusLine); // 关闭连接 ...

    android httpclient 访问服务器 获取json数据

    然后,创建一个HTTPClient实例,并设置必要的请求参数,如URL、HTTP方法(GET或POST)。这里以GET请求为例: ```java import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org...

    httpclient连接第三方接口的实际项目案例

    response = httpClient.execute(httpPost); ``` ### 上传文件 HttpClient支持文件上传,通常使用`MultipartEntityBuilder`构建多部分实体来实现: ```java File file = new File("/path/to/your/file"); ...

    网络请求框架----HttpClient的get,post和图片上传服务器

    CloseableHttpResponse response = httpClient.execute(httpPost); // 同样处理响应... ``` 对于图片上传,HttpClient提供了一种通过`MultipartEntityBuilder`来构建多部分实体的方法,可以方便地上传文件: ```...

    httpclient

    同时,HttpClient依赖于HttpCore库,这是Apache提供的基础HTTP协议处理组件,httpcore-4.4.1.jar即为该组件的4.4.1版本,提供了HTTP连接管理、请求/响应模型等核心功能。 **一、HttpClient基本概念** 1. **...

    httpclient和httpmime的jar包

    HttpResponse response = httpClient.execute(httpPost); ``` 上述代码展示了如何使用HttpClient和HttpMime创建一个POST请求,上传本地文件。 5. **最佳实践**: - 遵循HTTP/1.1标准,避免不必要的重试和连接...

Global site tag (gtag.js) - Google Analytics