HttpClient请求返回结果对象HttpEntity处理

HttpClient请求返回结果对象HttpEntity处理转成字符串一串图片说明

2个回答

多次使用了EntityUtils.toString了

class VarietyUtil1 implements Runnable {

public static Variety getHotVariety() {
    String url = "http://top.baidu.com/buzz?b=19&c=3&fr=topcategory_c3";
    String html = pickData(url);
    Variety v = analyzeHTMLByString(html);
    ConnectionMongo cm = new ConnectionMongo();
    cm.insertVariety(v);
    return v;
}

/*
 * 爬取网页信息
 */
private static String pickData(String url) {
    CloseableHttpClient httpclient = HttpClients.createDefault();
    try {
        HttpGet httpget = new HttpGet(url);
        CloseableHttpResponse response = httpclient.execute(httpget);
        try {
            // 获取响应实体
            HttpEntity entity = response.getEntity();
            // 打印响应状态
            if (entity != null) {
                InputStream in = entity.getContent();
                // byte[] b=new byte[in.available()];
                // in.read(b);
                BufferedReader br = new BufferedReader(new InputStreamReader(in, "gbk"));
                String temp = "";
                String s = "";
                while ((temp = br.readLine()) != null) {
                    s = s + temp;
                }
                return s;
            } else {
                String content = "热门综艺节目抓取失败,请检查";
                ErrorLog el = new ErrorLog();
                Remind remind = new Remind();
                remind.remind(el.getVerietyLog(), content);
                return null;
            }
        } finally {
            response.close();
        }
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (ParseException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        // 关闭连接,释放资源
        try {
            httpclient.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return null;
}

/*
 * 使用jsoup解析网页信息
 */
private static Variety analyzeHTMLByString(String html) {
    Variety v = new Variety();
    String[] arr = new String[3];
    Document document = Jsoup.parse(html);
    // document.select("meta").attr("charset", "utf-8");
    // System.out.println(document);
    Elements array = document.getElementsByClass("keyword");
    System.out.println(array.size());
    String content = "热门综艺节目抓取失败,请检查";
    ErrorLog el = new ErrorLog();
    if (array.size() == 0) {
        Remind remind = new Remind();
        remind.remind(el.getVerietyLog(), content);
        return null;
    }else{
        if (array.size() >= 3) {
            for (int i = 0; i < 3; i++) {
                String name = array.get(i).child(0).text();
                arr[i] = name;
            }
        } else {
            for (int i = 0; i < array.size(); i++) {
                String name = array.get(i).child(0).text();
                arr[i] = name;
            }
        }
        v.setHot1(arr[0]);
        v.setHot2(arr[1]);
        v.setHot3(arr[2]);
        return v;
    }

}

@Override
public void run() {
    String url = "http://top.baidu.com/buzz?b=19&c=3&fr=topcategory_c3";
    String html = pickData(url);
    Variety v = analyzeHTMLByString(html);
    ConnectionMongo cm = new ConnectionMongo();
    java.util.Calendar c = java.util.Calendar.getInstance();
    v.setAddTime(c.getTime());
    cm.insertVariety(v);
    System.out.println(v);
}

}

public class VarietyUtil {
public static void main(String[] args) {
VarietyUtil1 t = new VarietyUtil1();
DateSwitch ds = new DateSwitch();
ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
// 第二个参数为首次执行的延时时间,第三个参数为定时执行的间隔时间
service.scheduleAtFixedRate(t, ds.HowOfen(), 86400, TimeUnit.SECONDS);
}
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用HttpCLient处理HTTP请求
使用HttpClient处理HTTP请求  无论是B/S还是C/S,只要是涉及客户端与服务器的通信,那么如何处理HTTP请求就是无法避免的问题。   Java封装了HttpURLConnection提供给Java程序员做HTTP网络请求,然而使用HttpURLConnection做HTTP请求比较繁琐。如何简单快速地实现HTTP请求呢?Apache提供了一个专门用于处理HTTP请求的库HttpCl
httpClient请求及返回数据的处理
import java.io.IOException; import java.net.URLDecoder;import net.sf.json.JSONObject;import org.apache.commons.httpclient.HttpStatus; import org.apache.http.HttpResponse; import org.apache.http.client.
接收httpPost请求HttpEntity方式
使用org.springframework.http.HttpEntity 接收数据,方便省事,不用再用流去解析数据,直接看示例:
SpringBoot处理请求并以HTML形式返回结果
&lt;!DOCTYPE html&gt; &lt;html lang=&quot;en&quot; xmlns:th=&quot;http://www.w3.org/1999/xhtml&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; &lt;title&gt;Title&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt;Hello Word!&lt;/h
XMLHttpRequest() 请求 返回结果JSON 对象与JSON 字符串处理
好久没有看JavaWEB项目了突然拿起来,而且是原生的项目,中JSON 字符串的处理 json.stingfy() 将对象,数组转换为字符串,json.parse() 将字符串转成json 对象 JSON.stringify(数组或者对象) JSON.parse(字符串) 详细用法请参考:https://www.cnblogs.com/panmy/p/5925986.htm...
httpClient请求
httpClient请求工具类,适合多个系统间的数据请求
HttpClient请求
android中使用HttpClient请求资源并返回数据
HttpClient Post和Get请求实例+ 中文参数处理
转载自:http://starlight00.blog.163.com/blog/static/465183201210961537965/ package httpclient;      import java.io.IOException;   import java.net.URLEncoder;      import org.apache.commons...
(eg:基站定位)使用HttpClient模拟Http请求,获取返回结果
先来看一下代码:/** * 通过Lac和cell_id查询经度(longitude)和纬度(latitude) * @param lac LAC号码 * @param cell_id cell_id号码 * @return Map:key -- 经度:longitude * 纬度:latitude * 地址...
提交请求,接受返回结果
 function getYear(){        var type = getType();     var jsly =  document.getElementById(&quot;jsly&quot;).value;           var partxmlhttp ;     if (window.ActiveXObject){     partxmlhttp = new ActiveXObject(...
使用httpClient的HttpPost的HttpEntity的MultipartEntityBuilder上传文件时,文件名乱码成????
  MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.setCharset(Charset.forName(&quot;utf-8&quot;)); builder.setMode(HttpMultipartMode.RFC6532); 设置mode即可
Activity组件 6 处理返回结果
本课程主要讲解了Android中的四大核心应用组件、数据存储与网络传输 、多线程、网络通信技术 、多媒体技术 、动画与图形、性能佳实战等Android开发中重要的知识内容。
Activity处理返回结果
Acitity1请求Activity2返回结果以及处理返回结果:Intent intent=new Intent(this,Activity2.class); //参数(Intent,请求编码) startActivityForResult(intent,1); //重写改方法处理返回结果 @Override protected void onActivityResu
使用 Intent 对象返回结果
需要从Activity 传回数据需要使用 StartActivityForResult(new Intent(&quot;xxx.xxx.xx.xx&quot;),request_Code); request_Code用来识别是哪个intent 返回的结果,如果值为-1,则不会返回任何结果 在被调用的Intent 做到以下步骤: Intent data=new Intent(); data.setData(Uri...
Activity组件_8_Activity处理返回结果
讲解了Android中的四大核心组件的前三个:Activity、Service、BroadcastReceiver的深入理解,Activity的生命周期,Activity栈与Task,数据传递,横竖屏处理技巧,四种启动方式分析,等等
HttpEntity错误的问题
关于 Android Studio 报HttpEntity错误的问题如果你使用的 target sdk是23请在build.gradle加入android{ useLibrary 'org.apache.http.legacy' }
如何处理query的返回结果?
我想利用query中select k=sum(coun) from zz where a='0' 返回一个值,并将此值转换后赋给edit,请教各们高人,如何处理?
Ajax发送,处理返回结果
$.ajax({   type:"get",//或者"post"   url:"",//传递路径   dataType:"json",//数据类型   data:"str="+str+"&str1="+str,//post{"str":str,"str1":str1}   success:function(data){ //这里处理返回data } }) controller 写
IdHTTP处理返回结果的小问题
用IdHTTP.Post发送后,返回结果,判断后继续下一个Post,现在的情况是连续不停发送,然后要停止响应很长时间来判断处理结果,请问如何能实现提交一下后等待返回结果,再继续进行下一个循环?
空对象取值返回结果
假设定义o为一个对象,通过o取值 1.未定义abc时 o.abc – &amp;gt; undefind 0.abc.def – &amp;gt; 报错 2.定义abc时 o.abc.defg – &amp;gt; undefined
HTTPClient跨域访问 ——Post请求
第一种字符串流:try             {                 var url = "http://paas-logger-openops.myalauda.cn/api/core/logger/log.json";                 var httpClient = new HttpClient();                 var ht
httpclient请求接口
1、请求外系统接口 A系统servlet 用双方约定的加密算法加密后,用httpclient调用对方服务,对方验证合法后打开页面       代码为A系统调用方法:      package com.ultrapower.alarmwiki; import java.io.IOException; import javax.servlet.ServletExcep
Http请求辅助工具HttpClient
/**  * @功能描述:http请求辅助工具  */ @Component public class HttpUtil{ privateLog logger = LogFactory.getLog(getClass());// 日志   /**  * @功能描述:http执行get方法  */ publicString get(String url) { Stringtex
HttpClient请求网络数据
HttpClient  请求网络数据的get  post方法创建请求的工具类   此类中的请求数据的方法  需在  线程中运行public class MyHttpClient {public String Get(String userName,String passWord){System.out.println(&quot;11111111111111&quot;);//请求服务器地址String path=&quot;...
HttpClient模拟请求实例
测试类 核心代码 简介HttpClient 推荐链接测试类package com.chen.test;import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List;import org.apache.http.Name
使用httpClient请求的网络数据
使用httpClient请求的网络数据
httpclient请求方式+cookies
httpclient 请求两种方式,如果有cookie可加上cookies,同步获取返回值
HttpClient GET请求
HttpClient GET请求
httpclient设置请求字符集
postMethod.addRequestHeader(&quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded;charset=UTF-8&quot;);
HttpClient请求问题
这是报错日志nCaused by: java.io.FileNotFoundException: D:\hdm\lh\hbiparent\core\target\core\META-INF\context.xml (系统找不到指定的文件。)n at java.io.FileInputStream.open0(Native Method)n at java.io.FileInputStream.open(FileInputStream.java:195)n at java.io.FileInputStream.(FileInputStream.java:138)n at org.jetbrains.idea.tomcat.TomcatUtil.loadXMLFile(TomcatUtil.java:205)n ... 28 moreeManager.jar n2017-08-07 11:07:16,381 [2438700] INFO - ij.compiler.impl.CompileDriver - COMPILATION STARTED (BUILD PROCESS) n2017-08-07 11:07:16,389 [2438708] INFO - j.compiler.server.BuildManager - Using preloaded build process to compile D:\hdm\lh\hbiparent n2017-08-07 11:07:16,764 [2439083] INFO - .server.BuildMessageDispatcher - 远程主机强迫关闭了一个现有的连接。 njava.io.IOException: 远程主机强迫关闭了一个现有的连接。nnnn这是代码n public Map getSessionId(String userid )n n String token = null;n String sessionId = null;n http = new DefaultHttpClient();n try nn String url = LOGINURL + "&username=" + userid;nn HttpPost post = new HttpPost(url);nn // post.setHeader("HYPLOGIN", userid);n HttpResponse response = http.execute(post);n BufferedReader br = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));n StringBuffer result = new StringBuffer();n String line;n while ((line = br.readLine()) != null) n result.append(line);n n String string = result.toString();n // System.out.println(string);n string = string.substring(0, 2500);n // System.out.println(string);nn String regex = "sToken.*=.*\"(.+?)\";.*sCSRFToken";n Pattern p = Pattern.compile(regex);n Matcher matcher = p.matcher(string);n while (matcher.find()) n token = matcher.group(1);n n post.abort();nn // String mtoken = token.replace("\\n", "\\\n") + "=";n // System.out.println(mtoken);nn HttpPost posthttp = new HttpPost(HTTPURL);nn List nvps = new ArrayList();n nvps.add(new BasicNameValuePair("Application", "FYCWYS"));n nvps.add(new BasicNameValuePair("isContained", "true"));n nvps.add(new BasicNameValuePair("isWorkspace", "true"));n nvps.add(new BasicNameValuePair("LOCALE_LANGUAGE", "zh_CN"));n nvps.add(new BasicNameValuePair("moduleid", "HyperionPlanning.planning.7"));n nvps.add(new BasicNameValuePair("themeSelection", "BpmTadpole"));n nvps.add(new BasicNameValuePair("upk_available", "false"));n String mtoken = token.replace("\\n", "\\\n") + "=";n nvps.add(new BasicNameValuePair("sso_token", mtoken));n posthttp.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));n HttpResponse responseSession = http.execute(posthttp);nn posthttp.abort();n Header[] headers = responseSession.getHeaders("Set-Cookie");n for (Header header : headers) n if (header.toString().contains("SESSIONID")) n String str = header.toString();n // String reg = "Cookie:(.+?);.*path";n String reg = "JSESSIONID=(.+?);.*path";n Pattern pattern = Pattern.compile(reg);n Matcher m = pattern.matcher(str);n while (m.find()) n sessionId = m.group(1).trim();n n n n System.out.println(sessionId);nn catch (ClientProtocolException e) n e.printStackTrace();n catch (UnsupportedOperationException e) n e.printStackTrace();n catch (UnsupportedEncodingException e) n e.printStackTrace();n catch (IOException e) n e.printStackTrace();n n System.out.println(sessionId);n Map map = new HashMap<>();n map.put("sessionId",sessionId);nnn return map;
HttpClient请求网络
//在app下build.gradle添加一行支持HttpClient的代码 ------useLibrary 'org.apache.http.legacy'public static void getData(Context content, final String path, final JsonStringData callsback){ //判断网络 if(NetWo
httpClient请求实例
package com.worthbuy.httpclient; import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.Closeable
HttpClient请求调用封装
1. maven依赖包下载 &amp;lt;!-- httpclient --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.httpcomponents&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;httpclient&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;
HttpClient联网请求工具类
package com.example.abnerming.httputil.net; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apa...
httpclient模拟的post请求
使用httpclient模拟的post请求也同样出现了java.net.UnknownHostException: ****.*****.com(主机名)无法解析主机名。rn但是这个请求地址加上参数直接在IE地址栏里是可以访问到的,这是什么原因? rn
httpclient 请求例子
http://blog.csdn.net/rongyongfeikai2/article/details/41659353/
远程httpclient 请求
工具类 HttpClientUtil   public class HttpClientUtil {        public static String sendRequest(URL url) throws IOException {         String result = &quot;&quot;;         try {             PostMethod method...
使用HttpClient操作请求
HttpClientBuilder httpClientBuilder =HttpClientBuilder.create(); CloseableHttpClient build = httpClientBuilder.build(); HttpPost post = new HttpPost("http://www.apache.org/"); CloseableHttpResponse ex
httpclient 请求返回字符串
import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import
HttpClient设置代理的请求
在爬取数据的时候有的时候不能使用自己的真实ip爬取,需要简单配置一下用代理来完成。 public static String getHttpGet(String url){ //get请求         HttpHost proxy = new HttpHost("127.0.0.1", 1080);           DefaultProxyRoutePlanner routePlan
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数