HttpClient的使用

//创建一个HTttpClient工具,方便以后任意调用


public class HttpClienTools {

static String resultString;

public static String getJson(String path) {

       try {
                  HttpClient client = new DefaultHttpClient();
                  HttpGet get = new HttpGet(path);
                  HttpResponse response;
                  response = client.execute(get);
                  if (response.getStatusLine().getStatusCode() == 200) {
                         HttpEntity entity = response.getEntity();// 返回实体对象
                         InputStream inputStream = entity.getContent();// 读取实体中的内容
                        resultString = StreamTools.strTool(inputStream);//调用输出工具


              }

                } catch (ClientProtocolException e) {
                             e.printStackTrace();
                } catch (IOException e) {
                             e.printStackTrace();
                }


                                return resultString;
                }

}



//字节流输出转化工具

public class StreamTools {

public static String strTool(InputStream inputStream) {
// TODO Auto-generated method stub
                     try {
                             ByteArrayOutputStream stream = new ByteArrayOutputStream();// 定义字符节数组输出对象
                             byte[] buffer = new byte[1024];// 定义读取的缓冲区
                             int len = 0;
                             while ((len = inputStream.read(buffer)) != -1) {
                                         stream.write(buffer, 0, len);
                           }
                                         inputStream.close();
                                          stream.close();
                               byte[] data = stream.toByteArray();// 把读取的字节数组输出流转化为字节数组
                               return new String(data, "UTF-8");
                           } catch (IOException e) {
                        // TODO Auto-generated catch block
                                          e.printStackTrace();
                                           return null;
}

}




//调用实例

@Override
public void onClick(View view) {
// TODO Auto-generated method stub                  
                 final String uString = user.getText().toString();
                 final String pString = psw.getText().toString();
                 if (TextUtils.isEmpty(uString.trim())|| TextUtils.isEmpty(pString.trim())) {
          

                     Toast.makeText(MainActivity.this, "用户名或者密码不能为空",Toast.LENGTH_LONG).show();
                    } else {
                                                    

                          new Thread(new Runnable() {


@Override
public void run() {
String resultString = HttpClienTools
.getJson("http://etac.yindatech.com:8822/eTAC/user/phone/login.do?account="
+ uString
+ "&password="
+ pString
+ "&pt=?");
JSONObject jsonObject;
try {
jsonObject = new JSONObject(resultString);
String key = jsonObject.getString("key");// 解析得到Key
String pathString = HttpClienTools
.getJson("http://etac.yindatech.com:8822/eTAC/case/phone/hot.do?key="+key+"");
JSONArray array = new JSONArray(pathString);//解析Json
String[] titles = new String[array.length()];//定义数组
for (int i = 0; i < array.length(); i++) {
JSONObject jsonObject3 = array.getJSONObject(i);
String title = jsonObject3.getString("name");
// Log.i("info", title);
titles[i] = title;
}
Intent intent = new Intent(MainActivity.this, SearchMain.class);
intent.putExtra("titles", titles);
intent.putExtra("key", key);
startActivity(intent);
finish();


} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


}).start();
}
}
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
HttpClient 是一个开源的 HTTP 客户端库,用于发送 HTTP 求和接收 HTTP 响应。它提供了简化的 API,使得进行 HTTP 通信变得更加容易。 要使用 HttpClient,首先需要在项目中引入 HttpClient 的依赖。具体的操作方式取决于你使用的开发环境和构建工具。一般来说,如果是使用 Maven 进行项目管理,可以在 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency> ``` 如果是使用 Gradle 进行项目管理,可以在 build.gradle 文件中添加以下依赖: ```groovy implementation 'org.apache.httpcomponents:httpclient:4.5.13' ``` 接下来就可以在代码中使用 HttpClient 来发送 HTTP 求了。下面是一个简单的示例: ```java import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; public class HttpClientExample { public static void main(String[] args) throws Exception { HttpClient httpClient = HttpClientBuilder.create().build(); HttpGet request = new HttpGet("http://example.com"); HttpResponse response = httpClient.execute(request); System.out.println("Response Code: " + response.getStatusLine().getStatusCode()); } } ``` 上述示例中,我们创建了一个 HttpClient 实例,并使用该实例发送了一个 GET 求到 "http://example.com"。获取到的响应存储在 HttpResponse 对象中,我们可以通过调用 `getStatusCode()` 方法获取响应的状态码。 当然,HttpClient 还提供了丰富的 API,可以进行更加复杂的 HTTP 求和处理。你可以参考 HttpClient 的官方文档来了解更多详细的使用方法和示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吴唐人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值