java-Content-Type=“x-www-form-urlencoded”的参数中文乱码

java --jfinal框架使用的是sevlet2.5,接收post请求的带Content-Type=“x-www-form-urlencoded”的参数中文乱码如何处理?使用postman测试的,图片说明upload/201709/26/1506440618_961791.png)请求参数是一个xml,本来的参数是

     <TimeStamp>2017-09-20 10:02:29</TimeStamp>
    <ServiceName>测试中文web.order</ServiceName>
    到服务端,用request.inputStream拿不到数据,所以用paraMap取的参数,结果就是下面的中文乱码了,在网上查了很多方法,试了都无效,包括配置filter,字符串的getBytes("iso-8859-1")转utf-8,进行各种组合的先urlencode再urldecode或者先urldecode再urlencode等等都不行,确定数据传过来的CharEncoding是utf-8,但是日志输出从request中获取到的paraMap就是乱码的了。
        <TimeStamp>2017-09-20 10:02:29</TimeStamp>
    <ServiceName>₩ᄉヒ│ᆵユ¦ᄌᆳ₩ヨヌweb.order</ServiceName>
    想问下各位大神有什么办法吗?

1个回答

在head里面修改httpPost.setHeader("Content-type", "x-www-form-urlencoded;charset=UTF-8");

zy841958835
cloudyzhao 嗯 其实很多时候 如果没有特殊处理 只需要添加Content-type的编码和data的编码即可
2 年多之前 回复
qq_34841631
Carrot_hs 抱歉,才来回复,您的建议我试过,但是没能解决问题,现在我找到问题所在了,也解决了,因为项目架构的原因,从流里面取到的数据是经过内部处理的,所以会乱码,我添加了一个过滤器,在内部转化前进行了截获,避免了内部编码不一致导致的乱码。也谢谢你~
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
springboot: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported
我在做一个实现新增功能的页面 ++ ![图片说明](https://img-ask.csdn.net/upload/202001/11/1578729520_444790.png)
如何在java里调用使用get方法,参数以application/x-www-form-urlencoded方式传递的web接口?
想要在java代码里调用一个web接口,该接口通过postman测试是可以成功的,如图: ![图片说明](https://img-ask.csdn.net/upload/201901/16/1547608544_517344.png) 但是以如下方式写在java代码里却无法成功,请问有人知道是为什么吗? ``` String path="http://192.168.1.93:9000/offer?calip=192.168.1.20&bmcip=192.168.1.11"; String data="calip=192.168.1.20&bmcip=192.168.1.11"; try { URL url = new URL(path); //打开和url之间的连接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //请求方式,默认为get //设置通用的请求属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); conn.setConnectTimeout(5000); conn.setReadTimeout(5000); conn.setDoOutput(true); conn.setDoInput(true); conn.connect(); //获取URLConnection对象对应的输出流 PrintWriter out = new PrintWriter(conn.getOutputStream()); //发送请求参数即数据 out.print(data); //缓冲数据 out.flush(); out.close(); //获取URLConnection对象对应的输入流 InputStream is = conn.getInputStream(); //构造一个字符流缓存 BufferedReader br = new BufferedReader(new InputStreamReader(is)); String str = ""; while ((str = br.readLine()) != null) { System.out.println("from ipmi"+str); } //关闭流 is.close(); conn.disconnect(); System.out.println("发送结束"); } catch (Exception e) { e.printStackTrace(); } ```
ajax请求设置contentType不起作用
![图片说明](https://img-ask.csdn.net/upload/202002/08/1581156225_812480.png)![图片说明](https://img-ask.csdn.net/upload/202002/08/1581156241_801937.png) 会给我报错Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported]
登录问题,如何调用别人的一个接口
别人提供webservice的一个接口,需要怎么样调用?(使用java JSP编写的WEB项目) 急急急!!!!! POST /LoginVerifyWebService/Login.asmx/Login HTTP/1.1 Host: 10.10.10.191 Content-Type: application/x-www-form-urlencoded Content-Length: length username=string&password=string&randomString=string
java接收到post参数后,怎么将参数传递给html页面,将跳转后页面写入到流中?
需要传递参数的html页面,接受两个表单参数,一个是username,另一个是password 如果客户端发送的http请求是这样的 POST / HTTP/1.1 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20100101 Firefox/20.0 Host: 127.0.0.1 Connection: close Accept-Language: zh-CN,en;q=0.5 Accept-Encoding: gzip, deflate Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Content-type: application/x-www-form-urlencoded Content-length: 34 username=admin&password=123456 用java写的服务器,获取到username和password后,怎么将其作为参数传递给html页面?
java接口交互字符编码问题
我们的项目是utf8的,对方的项目参数传递使用的GBK格式, 双方项目都是已上线,不可能修改编码格式。 对方请求头部这种类型有content-type "content-type":"application/x-www-form-urlencoded;charset=GBK" 我们项目中接收到的中文参数乱码 [����������-&quot;������Ʒ&quot;�벻Ҫ��]������Ʒ-�벻Ҫ�� 强行转码没有成功,应该怎么处理 ![图片说明](https://img-ask.csdn.net/upload/201909/29/1569738966_840752.png)
中国银行在线支付主动通知的问题
银行发送B2C支付结果通知(主动通知) 例子:参数部分可参考Para Info 部分 We receive a post method request ! ----------header info-------------- user-agent=Java/1.5.0 host=22.11.99.80:8080 accept=text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 connection=keep-alive content-type=application/x-www-form-urlencoded content-length=1969 -------------para info-------------- merchantNo=104330183980005 orderNo=zsc1 orderSeq=69916502 cardTyp=12 payTime=20100627000000 orderStatus=1 payAmount=0.01 orderIp=22.11.99.80 orderRefer=http%3A%2F%2Flocalhost%2FB2C.html bankTranSeq=2010062733011575000001 returnActFlag=1 phoneNum= signData=MIIEZgYJKoZu3ukpfzDOJ8onjJl+gUxoP1FcWqQqlhzoQHzH6z4J2nEy GqDI+jfgdnMpqp59wgkLZ5ibUV8QgiqWqLTVYWVssIJbPDmpJ1L2BpXgVheJvqhr 请问这些参数如何获取呢?这个主动通知的原理是什么?
RESTer发送post请求与表单post请求的区别
## 测试时发现一个很蛋疼的问题, 使用form表单提交时servlet可以正常获取参数, 但是使用Rester测试则获取参数失败, 直接为null; ## 有没有前辈遇到过这种问题; ## 参数获取方法均采用最基础的req.getParameter(); ## 两组请求只有请求头不同; ## **失败的请求头** ``` Host: 127.0.0.1:9090 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0 Accept: */* 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 Accept-Encoding: gzip, deflate content-type: text/plain;charset=UTF-8 origin: moz-extension://f6c667d7-d221-4f5e-aa91-67e75dfe5914 Content-Length: 44 Cookie: JSESSIONID=1833498450D841AEFAFBEA47328A6E4B Connection: keep-alive Pragma: no-cache Cache-Control: no-cache ``` **成功的请求头** ``` Host: 127.0.0.1:9090 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 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 Accept-Encoding: gzip, deflate Referer: http://127.0.0.1:9090/RequestResponseServlet/test.jsp Content-Type: application/x-www-form-urlencoded Content-Length: 44 Cookie: JSESSIONID=1833498450D841AEFAFBEA47328A6E4B Connection: keep-alive Upgrade-Insecure-Requests: 1 ```
使用java的Http请求里的Url对象调用第三方接口返回的数据中文乱码
URL url = new URL("http://apis.5118.com/morerank/baidupc"); // 将url 以 open方法返回的urlConnection 连接强转为HttpURLConnection连接 (标识一个url所引用的远程对象连接) // 此时cnnection只是为一个连接对象,待连接中 HttpURLConnection connection = (HttpURLConnection) url.openConnection(); // 设置连接输出流为true,默认false (post 请求是以流的方式隐式的传递参数) connection.setDoOutput(true); // 设置连接输入流为true connection.setDoInput(true); // 设置请求方式为post connection.setRequestMethod("POST"); connection.setRequestProperty("Charsert", "UTF-8"); //设置请求编码 // post请求缓存设为false connection.setUseCaches(false); // 设置该HttpURLConnection实例是否自动执行重定向 connection.setInstanceFollowRedirects(true); // 设置请求头里面的各个属性 (以下为设置内容的类型,设置为经过urlEncoded编码过的from参数) // application/x-javascript text/xml->xml数据 application/x-javascript->json对象 application/x-www-form-urlencoded->表单数据 // ;charset=utf-8 必须要,不然妙兜那边会出现乱码【★★★★★】 //addRequestProperty添加相同的key不会覆盖,如果相同,内容会以{name1,name2} connection.addRequestProperty("from", "sfzh"); //来源哪个系统 //setRequestProperty添加相同的key会覆盖value信息 //setRequestProperty方法,如果key存在,则覆盖;不存在,直接添加。 //addRequestProperty方法,不管key存在不存在,直接添加。 connection.setRequestProperty("Authorization", " APIKEY D9FD7C014E8E4367B2891EF5B4B493"); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // 建立连接 (请求未开始,直到connection.getInputStream()方法调用时才发起,以上各个参数设置需在此方法之前进行) connection.connect(); // 创建输入输出流,用于往连接里面输出携带的参数,(输出内容为?后面的内容) DataOutputStream dataout = new DataOutputStream(connection.getOutputStream()); // 格式 parm = aaa=111&bbb=222&ccc=333&ddd=444 String parm = "taskid="+taskid; System.out.println("传递参数:" + parm); // 将参数输出到连接 dataout.writeBytes(parm); // 输出完成后刷新并关闭流 dataout.flush(); dataout.close(); // 重要且易忽略步骤 (关闭流,切记!) //System.out.println(connection.getResponseCode()); // 连接发起请求,处理服务器响应 (从连接获取到输入流并包装为bufferedReader) BufferedReader bf = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); String line; StringBuilder sb = new StringBuilder(); // 用来存储响应数据 // 循环读取流,若不到结尾处 while ((line = bf.readLine()) != null) { //sb.append(bf.readLine()); String lin=new String(line.getBytes(), "utf-8"); sb.append(lin); } bf.close(); // 重要且易忽略步骤 (关闭流,切记!) connection.disconnect(); // 销毁连接 return sb.toString(); 返回的数据中文乱码使用java的Http请求里的Url对象调用第三方接口返回的数据中文乱码
前端ligerui框架的grid控件, 后端springmvc获取分页问题
前端ligerui框架 的grid控件 添加参数 contentType:'application/json', 后端springmvc就获取分页page有问题? 如果前端不加contentType及parms参数, 后端不加@RequestBody参数,能获取到page、pagesize。 如果前端加contentType及parms参数, 后端加@RequestBody参数,报错:java.lang.NullPointerException 如果前端不加contentType,加parms参数, 后端加@RequestBody参数,报错:Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported。 ---------------------------------------附:---------------------------------------- 前端liger ui代码: ``` function getTpOneCxjgAjax_Load() { tpone_grid = $("#grid_tpone_cxjg").ligerGrid({ columns: tpone_column2, //dataType: 'server', dataAction: 'server', usePager: true, checkbox: true, type:"POST", contentType:'application/json', //此行注释掉,报错Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported。 dataType: 'json', url:"tpone_getTpOneCxtjTest", parms: { "zz": $("#zz").val(), "sp": $("#sp").val(), "pp": $("#pp").val(), "nf": $("#nf").val() }, pagesizeParmName:"pagesize", pageParmName: "page", width: '100%', height: '99.8%', pageSizeOptions: [20, 100, 200, 500,1000] }); //tpone_grid.loadServerData(); //从后台数据库刷新数据 } ``` 后端java springmvc代码: ``` @RequestMapping(value = "tpone_getTpOneCxtjTest", method = RequestMethod.POST) public @ResponseBody String getTpOneCxtjTest(@RequestBody TpOneCxtj2Vo tpOneCxtj2Vo, @RequestParam(value="page",required=false) Integer page, @RequestParam(value="pagesize",required=false) Integer pagesize) throws Exception { //System.out.println(request.getParameter("pagesize") + " 前台获取分页数。。。" +request.getParameter("page")); System.out.println("------------获取分页数@RequestParam: "+page+" --pagesize: "+pagesize); String tpOneCxjgList = tpOneCxjgService.getTpOneCxjg2Service(tpOneCxtj2Vo, page, pagesize); return tpOneCxjgList; } ```
SpringSecurity 实现授权码模式遇到了跨域问题,在网上找了一些解决办法,只能解决password模式的跨域问题,但是在授权码模式无法进行登录页跳转
SpringSecurity 实现授权码模式遇到了跨域问题,在网上找了一些解决办法,只能解决password模式的跨域问题,但是在授权码模式无法进行登录页跳转, 错误信息: 错误信息 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Sun Nov 24 13:05:53 CST 2019 There was an unexpected error (type=Internal Server Error, status=500). User must be authenticated with Spring Security before authorization can be completed. 代码如下: ``` SecurityConfig代码 @EnableWebSecurity(debug = true) @Configuration @EnableGlobalMethodSecurity(prePostEnabled = true) @Order(-1) public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private UserDetailsService userDetailsService; @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Override protected void configure(HttpSecurity http) throws Exception { http.formLogin().loginPage("/signIn.html") .loginProcessingUrl("/authentication/form") .and() .authorizeRequests() .antMatchers("/signIn.html","/authentication/form","/oauth/**").permitAll() .anyRequest() .fullyAuthenticated().and() .requestMatchers().antMatchers(HttpMethod.OPTIONS, "/oauth/token") .and() .cors() .and() .csrf().disable(); } } 全局过滤器代码 @Configuration public class GlobalCorsConfiguration { @Bean public CorsFilter corsFilter() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.setAllowCredentials(true); corsConfiguration.addAllowedOrigin("*"); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); // corsConfiguration.addExposedHeader("head1"); //corsConfiguration.addExposedHeader("Location"); UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource(); urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration); return new CorsFilter(urlBasedCorsConfigurationSource); } } 前端代码: $.ajax({ url: 'http://127.0.0.1:8090/oauth/token', xhrFields: { withCredentials: true }, contentType:'application/x-www-form-urlencoded;charset=UTF-8', crossDomain: true, data: {'grant_type':'authorization_code','code':s["code"],'scope':'all','redirect_uri':'http://127.0.0.1/manage/pages/index.html'}, type: 'POST', //dataType:'JSON', beforeSend: function (xhr) { xhr.setRequestHeader('Authorization', 'Basic ' + window.btoa("imooc:imoocsecret")); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8'); }, success: function (data) { }, error: function (xhr) { console.log(xhr) } }); ```
关于POST上传一个.gz文件的报文编码问题
各位大神,小弟有一个问题求助,用抓包工具看到上传的POST报文是上传一个.gz文件,但是报文里好像不是十六进制的编码,没有找到gz文件的开头1f8b标志,请教大神,这个是什么格式的编码? POST /operation/sgk/upload HTTP/1.1 Content-Length: 18592 Content-Type: application/x-www-form-urlencoded Host:tengo.com:8081 Connection: Keep-Alive User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4) dataarray=%5B%7B%22filename%22%3A%22A_testmore1.gz%22%2C%22
JAVA获取JSP中的某个值
在网页中有如下一段代码: function freshId(){var xmlHttp;if (window.ActiveXObject) {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");} else if (window.XMLHttpRequest) {xmlHttp = new XMLHttpRequest();} else {alert("请更换浏览器!");return;}xmlHttp.open("GET", "getcode.jsp", true);xmlHttp.onreadystatechange = function () {if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {var data=JSON.parse(xmlHttp.responseText);var strSrc = 'data:image/png;base64,' +data.vda;document.getElementById("codeId").value=data.vid;document.getElementById("imgGv").src=strSrc;}};xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");xmlHttp.send("{\"vty\":\"vtext\"}");}  我要写一个模拟登录的,但是传递参数的时候卡在了codeID的这个地方,传送HTTP请求的时候回发送codeID过去,请问一下,使用JAVA要怎么样获取到这个codeID
URLConnection 连接 ServerSocket 无法获取流里面的数据?
Service端 ``` public static void main(String[] args) throws Exception { ServerSocket serverSocket = new ServerSocket(9999); Socket socket = serverSocket.accept(); socket.setSoTimeout(20000); OutputStream out = socket.getOutputStream(); InputStream inputStream = socket.getInputStream(); Reader reader = new InputStreamReader(inputStream); char chars[] = new char[512]; int len; while ((len = reader.read(chars)) != -1) { String str = new String(chars, 0, len); System.out.println(str); } System.out.println("--------------------"); socket.close(); } ``` Client 端 ``` public static void main(String[] args) throws Exception { URL url = new URL("http://127.0.0.1:9999/work"); URLConnection con = url.openConnection(); con.setDoOutput(true); con.setDoInput(true); OutputStream out = con.getOutputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream())); out.write("Hello World".getBytes()); out.flush(); // String line = ""; // for (line = br.readLine(); line != null; line = br.readLine()) { // System.out.println(line); // } out.close(); } ``` Server端输出: POST /work HTTP/1.1 User-Agent: Java/1.6.0_45 Host: 127.0.0.1:9999 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Content-type: application/x-www-form-urlencoded Content-Length: 0 ------------------- 没有输出Hello World! 求解
js获得servlet发的数据中文乱码
java ``` resp.setContentType("text/html;charset=UTF-8"); resp.setCharacterEncoding("charset=UTF-8"); resp.setHeader("content-type", "text/html;charset=UTF-8"); writer.write(getjsongread); ``` js ``` var gradejson; var xmlhttp = getxmlhttp(); xmlhttp.open("post", "maininit", true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded;UTF-8"); xmlhttp.send(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4) if (xmlhttp.status != 200) { } else { grade = xmlhttp.responseText; gradejson = JSON.parse(grade); console.log(gradejson); ```
java socket 有问题,要求教
我要做一个从天气预报的网站取得数据的小程序,要求是用socket来做,那个服务器要求的格式是这样的: POST /globalweather.asmx/GetCitiesByCountry HTTP/1.1 Host: www.webservicex.net Content-Type: application/x-www-form-urlencoded Content-Length: length CountryName=string HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <string xmlns="http://www.webserviceX.NET">string </string> 我做了这个小程序,返回了部分的头信息,但最主要的string返回内容没有给我, 我是按照它提供的格式的啊,问题在哪? 还有就是我把请求的格式变成HTTP/1.0 才能运行,如果按格式要求的写成HTTP/1.1 ,根本就运行不了,这是什么原因? import java.io.*; import java.net.*; public class TCPClient { public static void main(String argv[])throws Exception { final int HTTP_PORT=80; Socket socket1 = new Socket("www.webservicex.net", HTTP_PORT); BufferedWriter out= new BufferedWriter(new OutputStreamWriter(socket1.getOutputStream())); BufferedReader in= new BufferedReader(new InputStreamReader(socket1.getInputStream())); out.write("POST /globalweather.asmx/GetCitiesByCountry HTTP/1.0\r\n"); out.write("Host: www.webservicex.net\r\n"); out.write("Content-Type: application/x-www-form-urlencoded\r\n"); String body = "CountryName=china\r\n"; out.write("Content-Length: " + body.length() + "\r\n"); out.write("\r\n"); out.write(body); out.flush(); String line; StringBuffer sb=new StringBuffer(); while((line=in.readLine())!= null) { sb.append(line+"\r\n"); } out.close(); in.close(); System.out.println(sb.toString()); } }
测试报错,Connection refused: connect,求解?
代码: ``` public class ItfTest { /** * @param args */ public static void main(String[] args) { try { String out = testbiz(); System.out.println(out); } catch (IOException e) { e.printStackTrace(); } } public static String testbiz() throws HttpException, IOException { HttpClient httpClient = new HttpClient(); PostMethod post = new PostMethod( "http://localhost:8001/itf/OI_AddSaleByParameter"); // PostMethod post = new PostMethod( "https://rryx.sinovatech.com/itf/OI_QueryEShopOrder"); post.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); String key = "123321abc"; String channel="ch_shenxun"; Map<String, Object> req = new HashMap<>(); String instr ="{\"body\": \"{\\\"startTime\\\":\\\"2019-01-01 14:43:19\\\",\\\"endTime\\\":\\\"2019-01-12 15:14:42\\\",\\\"phone\\\":\\\"18309858042\\\"}\",\"head\": {} }"; /* String instr ="6351"; req.put("loginCode",instr);*/ Map<String, Object> header = new HashMap<>(); header.put("appId", channel); header.put("tid", UUID.randomUUID().toString()); header.put("timestamp", System.currentTimeMillis()); header.put("ver", "1.0"); Map<String, Object> reMap = new HashMap<>(); reMap.put("header", header); reMap.put("req", req); req.put("saleName","123"); req.put("goodIds","ff8080815e562c4d015e6103956700b6"); req.put("orderValue","1"); req.put("createName","管理员"); System.out.println(JSONObject.toJSON(reMap)); String reqdata = JSONObject.toJSONString(reMap); String sign = DigestUtils.md5Hex(reqdata + key); NameValuePair[] param = { new NameValuePair("sign", sign), new NameValuePair("reqdata", reqdata) }; post.setRequestBody(param); int result = httpClient.executeMethod(post); System.out.println("返回结果=" + result); InputStream in = post.getResponseBodyAsStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); StringBuilder sb = new StringBuilder(); String line = reader.readLine(); while (line != null) { sb.append(line); line = reader.readLine(); } reader.close(); return sb.toString(); } } //以上代码传参测试,但是运行后报错 java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at java.net.Socket.connect(Socket.java:538) at java.net.Socket.<init>(Socket.java:434) at java.net.Socket.<init>(Socket.java:286) at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80) at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122) at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) at com.sinovatech.test.ItfTest.testbiz(ItfTest.java:95) at com.sinovatech.test.ItfTest.main(ItfTest.java:52) 求大神指点 ```
JAVA爬虫 爬取 https://www.zhipin.com/?ka=header-home 出现问题
JAVA爬虫 爬取 https://www.zhipin.com/?ka=header-home 出现问题 ,自己使用了ip代理 ``` public static Elements getJsoupDocGet(String url) throws IOException { Document doc = null; Random random = new Random(); int i = 0; while (i < 10 && doc == null) { try { trustEveryone(); IpProxy ipProxy = getRandomIP(); System.out.println(ipProxy.getIp()+" "+ipProxy.getPort()); System.setProperty("http.maxRedirects", "50"); System.getProperties().setProperty("proxySet", "true"); System.getProperties().setProperty("http.proxyHost", ipProxy.getIp()); System.getProperties().setProperty("http.proxyPort", ipProxy.getPort()); doc = Jsoup.connect(url) .userAgent(getUserAgent(ua)) .header("Accept-Encoding", "gzip, deflate,br") .header("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3") .header("User-Agent", "Mozilla/31.0 (compatible; MSIE 10.0; Windows NT; DigExt)") .header("Content-Type", "application/x-www-form-urlencoded") .header("Cache-Control","no-cache" ) .header("Pragma", "no-cache") .header("Upgrade-Insecure-Requests", "1") .header("Connection", "Keep-alive") .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8") .ignoreContentType(true) .ignoreHttpErrors(true) .timeout(1000 * 60) .cookie("auth", "token") .post(); if (doc != null) { System.out.println("代理成功"); //System.out.println(doc.toString()); return doc.select("body"); } } catch (Exception e) { } i++; } if (doc == null) { doc = Jsoup.connect(url).header("Accept", "*/*").header("Accept-Encoding", "gzip, deflate") .header("Accept-Encoding", "gzip, deflate") .header("Accept-Language", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3") .header("User-Agent", "Mozilla/31.0 (compatible; MSIE 10.0; Windows NT; DigExt)") .header("Content-Type", "application/x-www-form-urlencoded") .header("Cache-Control","no-cache" ) .header("Pragma", "no-cache") .header("Upgrade-Insecure-Requests", "1") .header("Connection", "Keep-alive") .header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8") .timeout(1000 * 60) .userAgent(getUserAgent(ua)) .cookie("auth", "token") .post(); } return doc.select("body"); } ``` 爬取网站时出现了下面的问题 但是有浏览器可以正常看,且代码也是完整的 ``` 代理成功 <body> <div style="font-size: 12px;"> 请稍后... </div> <input type="hidden" id="page_key_name" value="security_bridge"> <script> var _T=_T||[];!function(){var b,a=document.createElement("script");a.src="https://static.zhipin.com/library/js/analytics/ka.js",b=document.getElementsByTagName("script")[0],b.parentNode.insertBefore(a,b)}(),function(){var e,f,g,h,a=function(a,b){var c,d,e,f;"object"!=typeof a&&(a=[a]),c=document.getElementsByTagName("head").item(0)||document.documentElement,d=new Array,e=a.length-1,f=function(g){d[g]=document.createElement("script"),d[g].setAttribute("type","text/javascript"),d[g].setAttribute("charset","UTF-8"),d[g].onload=d[g].onreadystatechange=function(){this.onload=this.onreadystatechange=null,this.parentNode.removeChild(this),g!=e?f(g+1):"function"==typeof b&&b()},d[g].setAttribute("src",a[g]),c.appendChild(d[g])},f(0)},b=function(a){var b=new RegExp("(^|&)"+a+"=([^&]*)(&|$)"),c=window.location.search.substr(1).match(b);return null!=c?unescape(c[2]):null},c={get:function(a){var b,c=new RegExp("(^| )"+a+"=([^;]*)(;|$)");return(b=document.cookie.match(c))?unescape(b[2]):null},set:function(a,b,c,d,e){var g,f=a+"="+encodeURIComponent(b);c&&(g=new Date(c).toGMTString(),f+=";expires="+g),f=d?f+";domain="+d:f,f=e?f+";path="+e:f,document.cookie=f}};window.location.href,e=decodeURIComponent(b("seed"))||"",f=b("ts"),g=b("name"),h=decodeURIComponent(b("callbackUrl")),e&&f&&g&&a("security-js/"+g+".js",function(){var a=(new Date).getTime()+2304e5,b=".zhipin.com",d=(new ABC).z(e,parseInt(f));window.location.host.indexOf(".weizhipin.com")>-1&&(b=".weizhipin.com"),c.set("__zp_stoken__",d,a,b,"/");try{_T.sendEvent("security_bridge_"+d)}catch(g){}h?window.location.href=h:window.history.back()})}(); </script> </body> ``` 求大佬给出解答方式,求救救,自己在网上搜的设置ip代理代码,应该没错,别的网页可以,只有自己爬取的网页有问题
python爬虫爬取时提示org.xml.sax.SAXParseException: Content is not allowed in prolog.
最近在研究爬虫,请求方法是POST,请求内容类型是application/x-www-form-urlencoded,说明以表单的方式提交。 观察响应正文,可以发现,响应内容类型是xml,其中想要提取的数据就在new节点内: ![图片说明](https://img-ask.csdn.net/upload/201908/28/1566957248_729059.png) 首先构造headers: ![图片说明](https://img-ask.csdn.net/upload/201908/28/1566957271_146204.png) 请求参数在请求正文中: ![图片说明](https://img-ask.csdn.net/upload/201908/28/1566957295_533999.png) 可以发现请求参数也是放在xml中,将__xml参数解码后可以发现内容如下: ![图片说明](https://img-ask.csdn.net/upload/201908/28/1566957318_627236.png) 提交的参数放在p标签里,每次提交请求变化的也只有那些参数,并没有发现加密的迹象 因此构造params: ![图片说明](https://img-ask.csdn.net/upload/201908/28/1566957346_765493.png) 代码如下: ```python import requests target = ".../dorado/smartweb2.RPC.d?__rpc=true" # 公司内网地址,外网无法访问 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko", "Referer": ".../pages/policynewbiz/inputapplication/pmGDVehicleQuery.jsp?VEHICLELICENSE=&VIN=LEFYECG257HN34234&LICENSETYPE=&Kind=AUTOCOMPRENHENSIVEINSURANCE2014PRODUCT&", "Content-Type": "application/x-www-form-urlencoded", "Cookie": "jsessionidp09=X2tfdlLTBZH7xzKwnhSgh2W2N5374T0HnHWYQkl2MRShjBxfpKpW!1484787398; F5cookie=1410712842.6521.0000" } params = { "__type": "loadData", "__viewInstanceId": "org.view.policynewbiz.inputapplication.pmGDVehicleQuery~org.view.common.viewmodel.CpicViewModel", "__xml": '%3Crpc%20id%3D%22datasetResult%22%20type%3D%22wrapper%22%20objectClazz%3D%22%22%20pi%3D%221%22%20ps%3D%22100%22%20pc%3D%221%22%20prc%3D%220%22%20fs%3D%22vin%2ClicensePlateNo%2ClicensePlateType%2CengineNo%2CpmVehicleType%2CpmUserNature%2CineffectualDate%2CrejectDate%2CfirstRegisterDate%2ClastCheckDate%2CtransferDate%2CwholeWeight%2CratedPassengerCapacity%2Ctonnage%2Cdisplacement%2CmadeFactory%2Cmodel%2CbrandCN%2CbrandEN%2Chaulage%2Ccolor%2CfuelType%2CvehicleStatus%2CmotorTypeCode%22%3E%3Cps%3E%3Cp%20name%3D%22flag%22%3E1%3C/p%3E%3Cp%20name%3D%22carMark%22/%3E%3Cp%20name%3D%22RackNo%22%3E2FMDK3J95DBC93811%3C/p%3E%3C/ps%3E%3C/rpc%3E%0D%0A', "__rpc": "true", } res = requests.post(url=target, headers=headers, data=params) html = res.content.decode("utf-8") print(html) ``` 执行结果报错: ```python D:\Users\CPIC\AppData\Local\Programs\Python\Python37\python.exe E:/Workspace/Python/SchoolInfo/test56.py <?xml version="1.0"?> <result succeed="false" > <errorMessage>org.xml.sax.SAXParseException: Content is not allowed in prolog.</errorMessage> <stackTrace><![CDATA[com.bstek.dorado.utils.xml.dom4j.Dom4jXmlBuilder.buildDocument(Dom4jXmlBuilder.java:59) com.bstek.dorado.view.rpc.AbstractRPCHandler.init(AbstractRPCHandler.java:58) com.bstek.dorado.view.rpc.LoadDataRPCHandler.init(LoadDataRPCHandler.java:41) com.bstek.dorado.core.FilterHandle.doFilter(FilterHandle.java:131) com.bstek.dorado.core.DoradoFilter.doFilter(DoradoFilter.java:70) weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43) com.cpic.p09.auto.common.filter.CompatibleFilter.doFilter(CompatibleFilter.java:34) weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:43) com.cpic.p09.auto.common.filter.ClientCacheFilter.doFilter(ClientCacheFilter.java:71) weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3242) weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1916) weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366) weblogic.work.ExecuteThread.run(ExecuteThread.java:181) ]]></stackTrace> <viewProperties></viewProperties> </result> Process finished with exit code 0 ``` 有哪位大神遇到过这种情况,小弟要抓狂了
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载 点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, ...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
计算机专业的书普遍都这么贵,你们都是怎么获取资源的?
介绍几个可以下载编程电子书籍的网站。 1.Github Github上编程书资源很多,你可以根据类型和语言去搜索。推荐几个热门的: free-programming-books-zh_CN:58K 星的GitHub,编程语言、WEB、函数、大数据、操作系统、在线课程、数据库相关书籍应有尽有,共有几百本。 Go语言高级编程:涵盖CGO,Go汇编语言,RPC实现,Protobuf插件实现,Web框架实...
小白学 Python 爬虫(25):爬取股票信息
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
《面试宝典》2019年springmvc面试高频题(java)
前言 2019即将过去,伴随我们即将迎来的又是新的一年,过完春节,马上又要迎来新的金三银四面试季。那么,作为程序猿的你,是否真的有所准备的呢,亦或是安于本职工作,继续做好手头上的事情。 当然,不论选择如何,假如你真的准备在之后的金三银四跳槽的话,那么作为一个Java工程师,就不可不看了。如何在几个月的时间里,快速的为即将到来的面试进行充分的准备呢? 1、什么是Spring MVC ?简单...
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
轻松搭建基于 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个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
(总结)阿里面试问了ArrayList,都问了啥?
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
2020年1月中国编程语言排行榜,python是2019增长最快编程语言
编程语言比例 排名 编程语言 最低工资 工资中位数 最低工资 最高工资 人头 人头百分比 1 rust 20713 17500 5042 46250 480 0.14% 2 typescript 18503 22500 6000 30000 1821 0.52% 3 lua 18150 17500 5250 35000 2956 0.84% 4 go 17989 16...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级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岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
工作十年的数据分析师被炒,没有方向,你根本躲不过中年危机
2020年刚刚开始,就意味着离职潮高峰的到来,我身边就有不少人拿着年终奖离职了,而最让我感到意外的,是一位工作十年的数据分析师也离职了,不同于别人的主动辞职,他是被公司炒掉的。 很多人都说数据分析是个好饭碗,工作不累薪资高、入门简单又好学。然而今年34的他,却真正尝到了中年危机的滋味,平时也有不少人都会私信问我: 数据分析师也有中年危机吗?跟程序员一样是吃青春饭的吗?该怎么保证自己不被公司淘汰...
立即提问