Httpclient请求JSON数据
        使用httpclient去请求一个URL,返回的就是一个很长的JSON字符串,大约有10M。这种数据量会不会比较大?

3个回答

10M的数据确实太大,不知道题主为何一次会有这么大的数据需求,不过建议一般的做法是不同的数据分开不同的接口去请求返回较小的json值,不然10m的数据网络io都是问题。体验很差

nidafg
nidafg 因为是气象数据。。。30多万个坐标点的值,无法压缩数据了。请求后要在地图上渲染。如果在网络传输比较好情况下,这样问题大么?
4 年多之前 回复

1024*1024*10/2
约等于500多W字
这个数据量有点恐怖

考虑一下网速,这么多的数据最好分多次加载

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于java Httpclient post 提交JSon数据的问题
我查出数据库的数据 推送给安卓解析, 由于安卓的接口没有做好,我自己做了个 servlst 进行解析。但是不知道怎么拿值! 这是 推送数据的方法! public static String doPost(String url,JSONArray json){ String result=null; DefaultHttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost(url); JSONObject response = null; try { StringEntity s = new StringEntity(json.toString()); s.setContentEncoding("UTF-8"); s.setContentType("application/json");//发送json数据需要设置contentType post.setEntity(s); HttpResponse res = client.execute(post); if(res.getStatusLine().getStatusCode() == HttpStatus.SC_OK){ HttpEntity entity = res.getEntity(); result = EntityUtils.toString(res.getEntity());// 返回json格式: // response = JSONObject.fromObject(result); } } catch (Exception e) { throw new RuntimeException(e); } return result; } 一下是 servlst 解析的方法 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("POST请求方式"); response.setContentType("text/html"); PrintWriter out = response.getWriter(); //String param=request.getParameter(""); //接收数据 out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); out.print(" This is "); out.print(this.getClass()); out.println(", using the POST 200 method"); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); }
HttpClient调用接口返回json
java的httpclient发送post请求传入 data , data_digest , msg_type, company_id ,四个参数 调用接口一直返回S02,无法返回我想要的json数据怎么办?
linux下使用httpclient的http的put请求,发送json数据一直有错误
linux系统中使用curl工具发送http的put请求可以访问到web服务器的数据,其中curl的命令如下: curl -v --basic -u admin:public -k http://localhost:8080/api/v2/nodes/emq@127.0.0.1/plugins/emqx_recon -X PUT -i -H "Conten t-Type:application/json" -d '{"active":"true"}' 使用此命令可以有反馈的json结果,表示已经处理。 而在linux下开发环境eclipse使用httpclient发送http的put请求,数据是json数据,却一直报错,不清楚什么原因,贴上代码: public String doPutMethod(String host, int port, String URI,String stringJson){ if (closeableHttpClient == null) { // createCloseableHttpClient(); createCloseableHttpClientWithBasicAuth(); } String result = ""; HttpPut httpPut = null; HttpResponse httpResponse = null; HttpEntity entity = null; httpPut = new HttpPut("http://" + host + ":" + port + "/" + URI); //设置header httpPut.setHeader("Content-Type", "application/json;charset=UTF-8"); httpPut.setHeader("Accept", "application/json"); StringEntity stringEntity = null; stringEntity = new StringEntity(stringJson,ContentType.APPLICATION_JSON); stringEntity.setContentEncoding("UTF-8"); System.out.println(stringEntity.getContentType()); System.out.println(stringEntity.getContentEncoding()); try { System.out.println(EntityUtils.toString(stringEntity)); } catch (ParseException e1) { e1.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); } httpPut.setEntity(stringEntity); try { httpResponse = closeableHttpClient.execute(httpPut); entity = httpResponse.getEntity(); if (entity != null) { result = EntityUtils.toString(entity); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { httpPut.releaseConnection(); } return result; } public static void main(String args[]) { String host = "localhost"; int port = 8080; HttpClientWithBasicAuth httpClient = new HttpClientWithBasicAuth(); //test httpPutMethod String URI = "api/v2/nodes/emq@127.0.0.1/plugins/emq_auth_clientid"; String str = "{\"active\":\"true\"}"; String result = httpClient.doPutMethod(host, port, URI, str); System.out.println(result); }
httpclient获取返回的json串会自动转换成科学计数法
在用httpclient获取返回的json数据时,有个值是5000000.0,在用EntityUtils.toString(entity, "utf-8");转换的时候会变成5.0E7,哪位知道怎么处理吗? ``` String responseMsg = ""; CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpget = getHttpGet(url); try { httpget.setHeader("Content-Type", "application/xml; charset=utf-8"); httpget.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36"); CloseableHttpResponse response = httpClient.execute(httpget); try { HttpEntity entity = response.getEntity(); if (entity != null) { responseMsg = EntityUtils.toString(entity, "utf-8"); } } finally { response.close(); } httpClient.close(); } catch (Exception e) { throw new SystemException("webservice请求异常", e); } finally { httpget.releaseConnection(); httpClient.close(); // httpClient.getConnectionManager().shutdown(); } return responseMsg; ``` jdk自带的和OkHttp包也是同样返回
求助!!使用java抓取别的网站发送ajax返回的json数据
求大神请教如何使用java抓取别的网站发送的ajax返回的json数据 网站来源是:http://baidu.lecai.com/lottery/draw/sorts/cqssc.php?phase=20170512023&agentId=5591 我是通过NetWork找到我需要数据的请求地址是: http://baidu.lecai.com/lottery/draw/sorts/ajax_get_draw_data.php?lottery_type=200&date=2017-05-12 我使用httpClient可以获取第一个地址的html信息,可是获取不到第二个地址的json格式数据
httpclient怎么抓取最终跳转的网站数据?
公司要做个内部系统,抓取某个网站的数据,而那个网站是抓取淘宝的数据。 其中有个页面很复杂,搜索关键词后,跳转到当前页面,当前页面有个javascript 跳转淘宝请求数据。 (当我在他们网站搜索时,他们 是抓取淘宝数据的缓存到自己的网站,然后展现出来。 当我直接在地址栏拼接他们获取数据的地址时,发生了跳转,跳到淘宝去了。) **重点那个js的那个地址是他们网站的地址,然后再跳转到淘宝请求数据的** **我的httpclient怎么抓到跳转的最终页面,也就是那个全是json数据的页面?** ![地址栏拼接参数跳转的最终页面](https://img-ask.csdn.net/upload/201503/24/1427197301_154936.png) 我自己的httpclient 抓取的静态方法如下: ``` public String reqget(String url,String params){ String paramsencode=null; HttpClient client=new DefaultHttpClient(); //获得服务器保存的coockie String cookieStr = ""; List<Cookie> list = cs.getCookies(); for (Cookie cookie : list) { cookieStr += cookie.getName() + "=" + cookie.getValue() + ";"; } if(params!=""&&params!=null){ //paramsencode = URLEncoder.encode(params, "GBK"); url=url+"?"+params; } //封装Get请求 HttpGet get=new HttpGet(url); get.setHeader("Cookie", cookieStr); HttpResponse response; try { //提交get请求 response=client.execute(get); //通过响应的状态编码 判断请求是否成功提交 if(response.getStatusLine().getStatusCode()==200) { //获得服务器端的响应结果 HttpEntity respEntity= response.getEntity(); String respStr=EntityUtils.toString(respEntity,"GBK"); return respStr; } //prgDlg.dismiss(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } ```
Java获取http请求返回json格式数据异常
java.net.SocketTimeoutException: connect timed out at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at sun.net.NetworkClient.doConnect(Unknown Source) at sun.net.www.http.HttpClient.openServer(Unknown Source) at sun.net.www.http.HttpClient.openServer(Unknown Source) at sun.net.www.http.HttpClient.<init>(Unknown Source) at sun.net.www.http.HttpClient.New(Unknown Source) at sun.net.www.http.HttpClient.New(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) at com.elan.webservers.HttpRequestUtil.getHttp(HttpRequestUtil.java:64) at com.elan.webservers.HttpRequestUtil.main(HttpRequestUtil.java:19) 一直提示连接超时, 请问下有什么解决的方法么? // 开始连接请求 conn.connect(); //这行为异常提示行
org.apache.http.NoHttpResponseException: liuyan.people.com.cn:80 failed to respond
需要对这个页面(http://liuyan.people.com.cn/threads/list?fid=565)进行设计采集程序,由于“加载更多”就是当页最后一个ID,如: http://liuyan.people.com.cn/threads/list?fid=565 的JSON数据页面为 http://liuyan.people.com.cn/threads/queryThreadsList?fid=565&lastItem=0 JSON数据最后一个TID是7127843,那第二页即是 http://liuyan.people.com.cn/threads/queryThreadsList?fid=565&lastItem=7127843 JSON数据最后一个TID是7125108,那第三页即是 http://liuyan.people.com.cn/threads/queryThreadsList?fid=565&lastItem=7125108 依此类推,当responseData中数据条目小于10条或空时,即结束。 以下代码会采集切换5~6页后,在执行DealjsonData()的response = httpClient.execute(httpPost);后报错org.apache.http.NoHttpResponseException: liuyan.people.com.cn:80 failed to respond 有什么好的解决办法,如测试通过就全部给分,谢谢。 以下是部分代码借鉴。 public static void gettitle(String tablename,String province,String cityname,String district,String leaderstype,String leadersname,String queryurl,String url,String proxyname,int proxyport) { String[] Pagecountsp = null; boolean tmptable=true; SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); HttpClient httpClient = null; HttpPost httpPost = null; HttpResponse response = null; try{ //WebClient webClient = new WebClient(BrowserVersion.CHROME,"45.63.121.157",80); DataBaseHelper dbh = new DataBaseHelper(tablename); dbh.onCreate(tablename); String tmp_tablename=dbh.onCreatetmp(tablename); //建立临时库和清空临时库 System.out.println(df.format(System.currentTimeMillis())+" "+"queryurl:"+queryurl+" tablename:"+tablename+" leadersname:"+leadersname); HtmlPage page=null; int pagenum=20; WebClient webClient = new WebClient(BrowserVersion.CHROME); ProxyConfig proxyConfig = new ProxyConfig(proxyname,proxyport); webClient.getOptions().setTimeout(3000000); //webClient.getOptions().setProxyConfig(proxyConfig); webClient.getOptions().setJavaScriptEnabled(false); webClient.getOptions().setCssEnabled(false); httpClient = HttpClients.createDefault(); httpPost = new HttpPost(queryurl);// 传入URL地址 httpPost.addHeader("Accept", "pplication/json, text/javascript, */*; q=0.01"); httpPost.addHeader("Accept-Encoding", "gzip, deflate");// 设置请求头 httpPost.addHeader("Accept-Language", "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2");// 设置请求头 //httpPost.addHeader("Connection", "keep-alive");// 设置请求头 // httpPost.addHeader("Content-Length", "19");//设置请求头 //httpPost.addHeader("Content-Type", // "application/x-www-form-urlencoded; charset=UTF-8");// 设置请求头 httpPost.addHeader("Referer", "http://liuyan.people.com.cn/threads/list?fid=1079");// 设置请求头 //httpPost.addHeader("User-Agent", // "Mozilla/5.0 (Windows NT 6.1; W…) Gecko/20100101 Firefox/64.0");// 设置请求头 //httpPost.addHeader("X-Requested-With", "XMLHttpRequest");// 设置请求头 response = httpClient.execute(httpPost);// 获取响应 int statusCode = response.getStatusLine().getStatusCode(); //System.out.println("HTTP Status Code:" + statusCode); if (statusCode != HttpStatus.SC_OK) { //System.out.println("HTTP请求未成功!HTTP Status Code:");//+response.getStatusLine()) } HttpEntity httpEntity = response.getEntity(); String reponseContent = EntityUtils.toString(httpEntity); EntityUtils.consume(httpEntity); reponseContent=reponseContent.replaceAll("null", "0"); //System.out.println("响应内容:" + reponseContent); if(reponseContent.length()>20){ JSONObject dealList_findjson = JSONObject.fromObject(reponseContent); //System.out.println(dealList_findjson.toString()); //System.out.println("页数:"+dealList_findjson.getInt("ttlpage")+"记录数:"+dealList_findjson.getInt("ttlrow")); //int RecordCou = dealList_findjson.getInt("ttlrow"); //记录数 //int PageCou = dealList_findjson.getInt("ttlpage"); //页数 //int RecordCou = PageCou*pagenum; //预计最大记录总数,最后一页可能不是20 int DBcout=dbh.DBcount(tablename,leadersname); // //System.out.println(" 总页数:"+PageCou+" 记录数:"+RecordCou+" 数据库最早时间:"+DBnewstime+" 近1月内数据库条目:"+DB3cout+" 数据库总条目:"+DBcout); if(dealList_findjson.size()>0){ //在今天截止到表中最新时间的URL筛选如有新数据,由于可以直接调整WEB显示时间,不用增量模式,改用选择模式 System.out.println("开始采集:"); //System.out.println(doc.toString()); int continues=getListData(dbh,queryurl,url,dealList_findjson,tmp_tablename,tablename,province,cityname,district,leaderstype,leadersname); for (int i=0;continues>0;i++) //PageCount-&&i<2 { //continues代表只有不到10条数据,意味着结尾了,默认是0,否则tid=continues; //System.out.println(continues); reponseContent=DealjsonData(queryurl,continues); //调用读取XHR的JSON数据 if(reponseContent.indexOf("success")>1){ reponseContent=reponseContent.replaceAll("null", "0"); //System.out.println("响应内容:" + reponseContent); if(reponseContent.length()>20){ dealList_findjson = JSONObject.fromObject(reponseContent); //转化为json continues=getListData(dbh,queryurl,url,dealList_findjson,tmp_tablename,tablename,province,cityname,district,leaderstype,leadersname); //getListData对获取的JSON数据进行返回最后一条TID值,用于翻页,否则为0结束,插入数据。 //System.out.println("continues:" + continues+" i:" + i); } else{System.out.println("获取JSON数据异常l!");} } else{System.out.println("获取XHR的JSON数据失败!"); break;} } } dbh.Dedup_Add_table(tablename,tmp_tablename,province,leaderstype,leadersname,cityname,district,tmptable); //增加了临时的数据库,进行重删方式新增 } //20180114改为不删除临时tmp库,即无论tmp_zfcg0或tmpzfcg3;本来每次在onCreatetmp头部就会清空库truncate //dbh.TBdel(tmp_tablename); //删除临时库 webClient.close(); } catch(Exception e){ // TODO Auto-generated catch block e.printStackTrace(); StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw, true)); String strs = sw.toString(); log.error("url:"+url+" gettitle error:"+ strs); } } //获取XHR中的JSON数据 static String DealjsonData(String url,int pageNo) { String url1=url.substring(0,url.lastIndexOf("lastItem=")+9)+pageNo; System.out.println("url:"+url1); //ConnectionConfig connectionConfig = ConnectionConfig.custom().setBufferSize(4128).build(); //HttpClient httpClient = HttpClients.custom().setDefaultConnectionConfig(connectionConfig).build(); HttpClient httpClient = null; HttpPost httpPost = null; HttpResponse response = null; String reponseContent=null; try{ httpClient = HttpClients.createDefault(); httpPost = new HttpPost(url1);// 传入URL地址 httpPost.addHeader("Accept","pplication/json, text/javascript, */*; q=0.01"); httpPost.addHeader("Accept-Encoding", "gzip, deflate");// 设置请求头 httpPost.addHeader("Accept-Language","zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2");// 设置请求头 httpPost.addHeader("Connection", "keep-alive");// 设置请求头 // httpPost.addHeader("Content-Length", "19");//设置请求头 httpPost.addHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");// 设置请求头 httpPost.addHeader("Referer", "http://liuyan.people.com.cn/threads/list?fid=1079");// 设置请求头 //httpPost.addHeader("User-Agent", // "Mozilla/5.0 (Windows NT 6.1; W…) Gecko/20100101 Firefox/64.0");// 设置请求头 //httpPost.addHeader("X-Requested-With", "XMLHttpRequest");// 设置请求头 response = httpClient.execute(httpPost);// 获取响应 int statusCode = response.getStatusLine().getStatusCode(); //System.out.println("HTTP Status Code:" + statusCode); if (statusCode != HttpStatus.SC_OK) { //System.out.println("HTTP请求未成功!HTTP Status Code:"+ response.getStatusLine()); } HttpEntity httpEntity = response.getEntity(); reponseContent = EntityUtils.toString(httpEntity); EntityUtils.consume(httpEntity); //System.out.println("响应内容:" + reponseContent); return reponseContent; } catch(Exception e){ // TODO Auto-generated catch block e.printStackTrace(); StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw, true)); String strs = sw.toString(); log.error("table_name:"+url+"url1:"+url1+" ListData error:"+ strs); return reponseContent; } }
php返回json数据给Android手机端报错
php给android返回数据报错 java.net.protocolexception: unexpected end of stream Android手机用5.0及以上版本没问题,5.0以下版本就报这个错,他android请求用得HttpClient 我用网页请求返回数据正常,大虾们这是什么原因造成的啊?是php写的有问题吗?
求解httpClient发送请求访问接口时,有时能连接,有时连接不上
RT:求解httpClient发送请求访问接口时,有时能连接,有时连接不上,连接上了以后,下一次查询很快,求大神帮忙查看,感谢。 问题: 1、使用的是 org.apache.http.impl.client.CloseableHttpClient; 2、访问接口时,有时能连接,有时连接不上 备注: 1、因为公司的策略情况,使用的是http1.0的中的短连接。使用抓包工具看,连接不上的时候一直是TCP重连,待超过设置的超时时间后查询不到数据。 2、网上查看了有说超时时间太长,设置短了更查不到数据 3、应用部署使用tomcat和docker都试过,效果一样。 4、接口是提供给多个系统使用,只有我调用存在此类问题。 5、使用postman调用速度比代码调用快。 抓包内容 : ![图片说明](https://img-ask.csdn.net/upload/201908/19/1566215766_686306.png) httpClient代码 ``` public static String postRequest(String url, String jsonString){ CloseableHttpResponse httpResponse = null; HttpPost httpPost = new HttpPost(url); RequestConfig requestConfig = RequestConfig.custom() .setSocketTimeout(60000) .setConnectTimeout(60000) .build(); CloseableHttpClient httpClient = HttpClients.custom() .setDefaultRequestConfig(requestConfig) .build(); //使用http1.0的短连接 httpPost.setProtocolVersion(HttpVersion.HTTP_1_0); httpPost.addHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE); httpPost.setConfig(requestConfig); httpPost.addHeader("Content-Type", "application/json"); StringEntity requestEntity = new StringEntity(jsonString, "utf-8"); httpPost.setEntity(requestEntity); try { httpResponse = httpClient.execute(httpPost); if (httpResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { return null; } HttpEntity entity = httpResponse.getEntity(); if (entity != null) { String resultStr = EntityUtils.toString(entity, "utf-8"); return resultStr; } else { return null; } } catch (Exception e) { logger.error("httpPost method exception handle-- > " + e); return null; } finally { if (httpResponse != null){ try { httpResponse.close(); } catch (IOException e) { logger.error("httpPost method IOException handle -- > " + e); } } if (httpClient != null) { try { httpClient.close(); } catch (IOException e) { logger.error("httpPost method exception handle-- > " + e); } } } } ```
LAIui前后台交互,只在页面显示Json数据,没有生成表格
``` public ActionResult Index() { //创建一个URL类 Uri uri = new Uri("http://localhost:65517/"); //创建一个HttpClient客户端对象 HttpClient httpclient = new HttpClient(); //设置HttpClient要获取资源的地址 httpclient.BaseAddress =uri; //发送一个Get方法的请求 var GetAsync= httpclient.GetAsync("api/GLB"); //获取Get方法取到数据后的属性 :Result var typeGetAsync = GetAsync.Result; //判断返回数据的状态 if (typeGetAsync.StatusCode == System.Net.HttpStatusCode.OK) { //定义变量接收结果值 //Content:获取HTTP响应消息的内容 //ReadAsStringAsync():以异步操作将HTTP内容写入流 //Result:获取结果值 var result = typeGetAsync.Content.ReadAsStringAsync().Result; //转换数据格式 var List = JsonConvert.DeserializeObject<List<tb_personal>>(result).ToList(); //释放资源 httpclient.Dispose(); ////return View(List); //var tolist = Json(List, JsonRequestBehavior.AllowGet) // ; var toresult = new { code = 0, msg = "", data = List }; return Json(toresult,JsonRequestBehavior.AllowGet); } else { ViewBag.ErrMsg = "获取数据失败,错误代码" + Response.StatusCode; //释放资源 httpclient.Dispose(); } return View(); } ``` ``` <script> layui.use('demo', function () { var table = layui.table; //第一个实例 table.render({ elem: '#demo' , height: 500 , url: '/GLB/' //数据接口 //, page: true //开启分页 , method: 'get' , cols: [[ //表头 { field: 'P_PID', title: '用户编号', width: 80, sort: true}, { field: 'P_PID', title: '用户编号', width: 80, sort: true, fixed: 'left' }, { field: 'P_Name', title: '姓名', width: 80 }, { field: 'P_Sex', title: '性别', width: 80, sort: true }, { field: 'P_Age', title: '年龄', width: 80 }, { field: 'P_Phone', title: '手机号', width: 177 } ]] }); }); </script> ```
关于httpclient4读取网站信息的问题
一个内部网站,想通过java的httpclient4来读取网站某url返回的json数据,先用浏览器工具分析其http响应,发现正常访问该url时提交是post方式的multipart/form-data请求,该请求的请求正文不是一般的xxx=xxxx这样的键值对,而是类似{header:{"code":0,"message":"xxx"}}这样的json字符串,我想问的是这种请求应该如何用httpclient4来发送?
json Bean之间的转换问题
我是个外行,大学学的是java虽然工作快6年了,可java写写代码这手艺一直没丢,但是我的代码很多都是野路子,怎么说呢,不优雅。 就像最近遇到个问题: 我的网址给一个提供Oauth2.0API 数据查询的一个网站。 我的方法是: 每次请求都一样,只期待对方网站返回特定格式的json. 然后用httpclient把那个json转化成一个String,然后一堆操作后变成一个bean对象。 这样给我带来很多麻烦,比如:1效率问题,2.我不能灵活的变化我想获取的信息,因为变化我就得给请求方法,然后再修改解析json的方法,太累了,我这上面蚝了很多时间,3.哪天那个网站要是返回JSON的格式要是变了,没人通知我,程序自己要是不报错,我的天啊,那得多少错误数据在数据库里。。。 能有专业认识说一下,这种情况你们怎么处理的。 因为我当年学JAVA的时候,数据流行用XML,没有太在意JSON,请问JSON有么有流行的java API推荐。 谢谢了。
java模拟表单 json数据格式问题,大神请进
String url = "http://120.25.102.84:8000/creditAudit"; PostMethod postMethod = new PostMethod(url); // 填入各个表单域的值 NameValuePair[] data = { new NameValuePair("message", JSON.toJSONString(ll))}; System.out.println("推送成功"); // 将表单的值放入postMethod中 commons-httpclient.jar postMethod.setRequestBody(data); postMethod.getParams().setContentCharset("utf-8"); postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf-8"); // 执行postMethod int statusCode = 0; try { statusCode = new HttpClient().executeMethod(postMethod); } catch (HttpException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发 // 301或者302 if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) { // 从头中取出转向的地址 Header locationHeader = postMethod.getResponseHeader("location"); String location = null; if (locationHeader != null) { location = locationHeader.getValue(); System.out.println("diandianLogin:" + location); } else { System.err.println("Location field value is null."); } return; } else { System.out.println(postMethod.getStatusLine()); String str = ""; try { str = postMethod.getResponseBodyAsString(); } catch (IOException e) { e.printStackTrace(); } System.out.println(str); } postMethod.releaseConnection(); return; new NameValuePair("message", JSON.toJSONString(ll))}; messages是个list 但是转成json 但是 格式如下 [name=message, value=[{"BAL":"5273.84","BILLDTLS_ID":"AazLIsjsMYnlKYirmNOx","LOANID":"NJGL20160428002","PRERETUAMT":"3052.40"}]] 单我想 修改格式为: [{"BAL":"5273.84","BILLDTLS_ID":"AazLIsjsMYnlKYirmNOx","LOANID":"NJGL20160428002","PRERETUAMT":"3052.40"}] 请问如何修改,大神勿喷
怎么请求聚合数据的数据,求一个demo,谢谢各位大神
我自己做的请求不出来数据,下面上一个类的代码。请大神指点指点 package com.action; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; import org.apache.commons.httpclient.util.HttpURLConnection; import net.sf.json.JSONObject; import android.app.Activity; import android.os.*; import android.view.*; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class Hanziqigua extends Activity{ /***********************/ public static final String DEF_CHATSET = "UTF-8"; public static final int DEF_CONN_TIMEOUT = 30000; public static final int DEF_READ_TIMEOUT = 30000; public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36"; String url ="http://v.juhe.cn/xhzd/query";//请求接口地址 /***********************/ private EditText hzText; private Button hzStartbt; private TextView hzTextBegin; public static final String APPKEY ="4e60f85fda2216b3d39f106204bb8c3d"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.hanziqigua_layout); /***控件初始化*/ hzText = (EditText) findViewById(R.id.hzText); hzStartbt = (Button) findViewById(R.id.hzStartbt); hzTextBegin = (TextView) findViewById(R.id.hzTextBegin); /***/ hzStartbt.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { /***拆分字符串*/ String textBegin=hzText.getText().toString(); final String textBeginOne=textBegin.substring(0,1); final String textBeginTwo=textBegin.substring(1,2); /***/ System.out.println("第一个字 -->"+textBeginOne); System.out.println("第二个字 -->"+textBeginTwo); /***********/ /***********网络请求****************/ /***********第一个字的地址**********/ final String newUrlone = url + "?" + "key=" + APPKEY + "&" + "word=" + textBeginOne; System.out.println("new url -- > "+ newUrlone); /***********************************/ /***********第二个字的地址***********/ final String newUrltwo = url + "?" + "key=" + APPKEY + "&" + "word=" + textBeginOne; System.out.println("new url -- > "+ newUrltwo); /***********************************/ String result =null; String url ="https://v.juhe.cn/xhzd/query";//请求接口地址 Map params = new HashMap();//请求参数 params.put("word",newUrlone);//填写需要查询的汉字,UTF8 urlencode编码 params.put("key",APPKEY);//应用APPKEY(应用详细页查询) params.put("dtype","");//返回数据的格式,xml或json,默认json try { result =net(url, params, "GET"); JSONObject object = JSONObject.fromObject(result); if(object.getInt("error_code")==0){ System.out.println(object.get("result")); }else{ System.out.println(object.get("error_code")+":"+object.get("reason")); } } catch (Exception e) { e.printStackTrace(); } /***********************************/ } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } /**************************************************************************************/ /** * * @param strUrl 请求地址 * @param params 请求参数 * @param method 请求方法 * @return 网络请求字符串 * @throws Exception */ public static String net(String strUrl, Map params,String method) throws Exception { HttpURLConnection conn = null; BufferedReader reader = null; String rs = null; try { StringBuffer sb = new StringBuffer(); if(method==null || method.equals("GET")){ strUrl = strUrl+"?"+urlencode(params); } URL url = new URL(strUrl); conn = (HttpURLConnection) url.openConnection(); if(method==null || method.equals("GET")){ conn.setRequestMethod("GET"); }else{ conn.setRequestMethod("POST"); conn.setDoOutput(true); } conn.setRequestProperty("User-agent", userAgent); conn.setUseCaches(false); conn.setConnectTimeout(DEF_CONN_TIMEOUT); conn.setReadTimeout(DEF_READ_TIMEOUT); conn.setInstanceFollowRedirects(false); conn.connect(); if (params!= null && method.equals("POST")) { try { DataOutputStream out = new DataOutputStream(conn.getOutputStream()); out.writeBytes(urlencode(params)); } catch (Exception e) { // TODO: handle exception } } InputStream is = conn.getInputStream(); reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET)); String strRead = null; while ((strRead = reader.readLine()) != null) { sb.append(strRead); } rs = sb.toString(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { reader.close(); } if (conn != null) { conn.disconnect(); } } return rs; } //将map型转为请求参数型 public static String urlencode(Map<String,Object>data) { StringBuilder sb = new StringBuilder(); for (Map.Entry i : data.entrySet()) { try { sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } return sb.toString(); } /**************************************************************************************/ }
httpClient 工具类异常
工具类代码如下,分页100的情况下没什么问题,分页1000,就会在请求前几页的时候出现json异常,发现返回的数据被截断,换个工具类就没问题了,求解? ``` public String doGet(String url) throws UnsupportedEncodingException { HttpClient client = new HttpClient(); // 实例化httpClient client.getHttpConnectionManager().getParams() .setConnectionTimeout(TIME_OUT); client.getHttpConnectionManager().getParams().setSoTimeout(TIME_OUT); HttpMethod method = new GetMethod(url); // String responseContent = ""; try { client.executeMethod(method); // 执行 InputStream jsonStr; jsonStr = method.getResponseBodyAsStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); int i = -1; while ((i = jsonStr.read()) != -1) { baos.write(i); } responseContent = baos.toString(); jsonStr.close(); baos.close(); method.releaseConnection(); } catch (HttpException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } if (responseContent != null) { // 用默认字符编码解码字符串。 byte[] bs = responseContent.getBytes(); // 用新的字符编码生成字符串 return new String(bs, "UTF-8"); } return null; } ```
MultipartRequestEntity post 请求发送。接收端用java httpserver httpexchange 接受。能不能单独取出 request sign 两块内容
package com.test.HttpClient; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.methods.StringRequestEntity; import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity; import org.apache.commons.httpclient.methods.multipart.Part; import org.apache.commons.httpclient.methods.multipart.StringPart; import org.apache.commons.httpclient.params.HttpConnectionManagerParams; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.StreamUtils; /** * Hello world! * */ public class HttpClientApp { private static final Logger logger = LoggerFactory.getLogger(HttpClientApp.class); public static void main( String[] args ) { String url="http://127.0.0.1:8081/SpringMvc1/student"; String reqStr="aaaaaaa"; String contentType="application/json"; String charset="UTF-8"; String ss=doPost( url, reqStr, contentType, charset) ; System.out.println("返回内容为1:" +ss); Part[] parts=new Part[2]; parts[0]=new StringPart("request", "请求报文体",charset); parts[1]=new StringPart("sign", "数字签名",charset); url="http://127.0.0.1:8081/SpringMvc1/BossServlet"; // url="http://127.0.0.1:8081/SpringMvc1/fileupload"; String response=doPostMuStr( url, parts) ; System.out.println("返回内容为1:" +response); } /** * 执行一个HTTP POST请求,返回请求响应的HTML * * @param url 请求的URL地址 * @param reqStr 请求的查询参数,可以为null * @param charset 字符集 * @return 返回请求响应的HTML */ public static String doPost(String url, String reqStr, String contentType, String charset) { HttpClient client = new HttpClient(); PostMethod method = new PostMethod(url); try { HttpConnectionManagerParams managerParams = client.getHttpConnectionManager().getParams(); managerParams.setConnectionTimeout(30000); // 设置连接超时时间(单位毫秒) managerParams.setSoTimeout(30000); // 设置读数据超时时间(单位毫秒) method.setRequestEntity(new StringRequestEntity(reqStr, contentType, "utf-8")); client.executeMethod(method); System.out.println("返回的状态码为:" +method.getStatusCode()); if (method.getStatusCode() == HttpStatus.SC_OK) { // return StreamUtils.copyToString(method.getResponseBodyAsStream(), Charset.forName(charset)); return IOUtils.toString(method.getResponseBodyAsStream(),"utf-8"); } } catch (UnsupportedEncodingException e1) { logger.error(e1.getMessage()); return ""; } catch (IOException e) { logger.error("执行HTTP Post请求" + url + "时,发生异常!" + e.toString()); return ""; } finally { method.releaseConnection(); } return null; } /** * 执行一个HTTP POST请求,返回请求响应的HTML * * @param url 请求的URL地址 * @param reqStr 请求的查询参数,可以为null * @param charset 字符集 * @return 返回请求响应的HTML */ public static String doPostMuStr(String url, Part[] reqStr) { HttpClient client = new HttpClient(); PostMethod method = new PostMethod(url); try { HttpConnectionManagerParams managerParams = client.getHttpConnectionManager().getParams(); managerParams.setConnectionTimeout(30000); // 设置连接超时时间(单位毫秒) managerParams.setSoTimeout(30000); // 设置读数据超时时间(单位毫秒) method.setRequestEntity(new MultipartRequestEntity(reqStr, method.getParams())); // method.setContentChunked(true); client.executeMethod(method); System.out.println("返回的状态码为:" +method.getStatusCode()); if (method.getStatusCode() == HttpStatus.SC_OK) { return IOUtils.toString(method.getResponseBodyAsStream(),"utf-8"); } } catch (UnsupportedEncodingException e1) { logger.error(e1.getMessage()); return ""; } catch (IOException e) { logger.error("执行HTTP Post请求" + url + "时,发生异常!" + e.toString()); return ""; } finally { method.releaseConnection(); } return null; } }
遇到问题 请求帮助 感激不尽
错误信息Exception in thread "main" java.net.SocketException: Unexpected end of file from server at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:769) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072) at com.xiang.Main.main(Main.java:26) 代码 package com.xiang; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; /** * 接收服务端Json数据 * @author Dana·Li */ public class Main{ private static String urlPath="http://127.0.0.1:8001"; /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { //ServerFactory.getServer(8080).start(); //列出原始数据 StringBuilder json = new StringBuilder(); URL oracle = new URL(Main.urlPath); URLConnection yc = oracle.openConnection(); BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream(),"UTF-8")); String inputLine = null; while ( (inputLine = in.readLine()) != null){ json.append(inputLine); } in.close(); String Strjson=json.toString(); System.out.println("原始数据:"); System.out.println(Strjson.toString()); } }
Jemter测试,传输byte数据到服务器问题
``` public static HttpResult doJsonPost(String url, String json, String charset, boolean isGzip) throws UnsupportedEncodingException { HttpClient httpClient = new HttpClient(); PostMethod postMethod = new UTF8PostMethod(url); if (isGzip) { byte[] jsonByte = GZipUtils.compressToByte(json); ByteArrayInputStream in = new ByteArrayInputStream(jsonByte); postMethod.setRequestEntity(new InputStreamRequestEntity(in)); } else { postMethod.setRequestEntity(new StringRequestEntity(json,"application/json; charset=utf-8",DEFAULT_CHARSET)); } String res = "fail"; HttpResult hr = new HttpResult(); // 默认404 int code = 404; try { httpClient.executeMethod(postMethod); // 获取二进制的byte流 if (StringUtils.isBlank(charset)) { charset = DEFAULT_CHARSET; } code = postMethod.getStatusCode(); res = read(postMethod.getResponseBodyAsStream(), charset); } catch (Exception e) { res = "fail"; throw new SystemException("HttpRequestUtil doJsonPost方法发送post请求失败", e); } finally { postMethod.releaseConnection(); } hr.setResponseCode(code); hr.setBody(res); return hr; } ``` 这段代码,用jemter怎么模拟
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
《MySQL 性能优化》之理解 MySQL 体系结构
本文介绍 MySQL 的体系结构,包括物理结构、逻辑结构以及插件式存储引擎。
python自动下载图片
近日闲来无事,总有一种无形的力量萦绕在朕身边,让朕精神涣散,昏昏欲睡。 可是,像朕这么有职业操守的社畜怎么能在上班期间睡瞌睡呢,我不禁陷入了沉思。。。。 突然旁边的IOS同事问:‘嘿,兄弟,我发现一个网站的图片很有意思啊,能不能帮我保存下来提升我的开发灵感?’ 作为一个坚强的社畜怎么能说自己不行呢,当时朕就不假思索的答应:‘oh, It’s simple. Wait for me for a ...
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月2日,阿里巴巴发布《达摩院2020十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.27亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
C++(数据结构与算法):62---搜索树(二叉搜索树、索引二叉搜索树)
一、搜索树的复杂度分析 本文考察二叉搜索树和索引二叉搜索树 二叉搜索树的渐进性能可以和跳表媲美: 查找、插入、删除操作所需的平均时间为Θ(logn) 查找、插入、删除操作的最坏情况的时间为Θ(n) 元素按升序输出时所需时间为Θ(n) 虽然在最坏情况下的查找、插入、删除操作,散列表和二叉搜索树的时间性能相同,但是散列表在最好的情况下具有超级性能Θ(1) 不过,对于一个指定的关键...
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
最全最强!世界大学计算机专业排名总结!
我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您! (为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!) 目录 泰晤士高等教育世界大学排名 QS 世界大学排名 US News 世界大学排名 世界大学学术排名(Academic Ranking of World Universities) 泰晤士高等教育世界大学排名 中国共...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
立即提问