request post请求数据失败 5C

目标页面:https://time.geekbang.org/column/article/12140

图片说明

图片说明

图片说明

提问: 如何才能成功的返回数据?

3个回答

https://time.geekbang.org/serv/v1/article
这个会返回 Set-Cookie: SERVERID=97796d411bb56cf20a5612997f113254|1538626991|1538626937;Path=/ (类似这个,包括id,时间戳等)
你再请求要带上,还有你post的数据呢,
{id: "12140"}
这个要带上(注意设置Content-Type: application/json)。

banana1634
banana1634 挂了,没太懂结构,详细如下条评论的图所示。 方便给个sample或是templet吗?
一年多之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复: id不是放在header里,而是放在post体内。
一年多之前 回复
banana1634
banana1634 ![图片说明](https://img-ask.csdn.net/upload/201810/04/1538658035_416691.png) 没成功。 求成功的代码。谢谢。
一年多之前 回复

图片说明

caozhy
每个人都有一个梦才不会孤单的说话就有天堂 因为你没有post数据,所以当然返回无效的id,要放在body里,不是header
一年多之前 回复

如果楼主初学,建议可以使用selenium 自动化测试的库进行爬取,具体安装方法:https://blog.csdn.net/weixin_36279318/article/details/79475388

获取目标网站代码:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://time.geekbang.org/column/article/12140')  # 地址栏输入地址
driver.implicitly_wait(30)
txt=driver.page_source
print(txt)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用AFN发送post请求,报了一个500的错,但是安卓和postman能请求的到数据
我使用AFN发送一个post请求,报了以下的错误,但是安卓和postman能请求的到数据,跪求各位大神帮我看一下问题出在哪里 Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: internal server error (500)" UserInfo={com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x600000425e00> { URL: http://123.207.232.93/api/Cart/cart_list } { status code: 500, headers { Server = Apache; Content-Type = text/html; charset=UTF-8; Pragma = no-cache; Cache-Control = no-store, no-cache, must-revalidate, post-check=0, pre-check=0; Date = Thu, 22 Jun 2017 09:33:30 GMT; Content-Length = 0; Expires = Thu, 19 Nov 1981 08:52:00 GMT; Connection = close; } }, NSErrorFailingURLKey=http://123.207.232.93/api/Cart/cart_list, com.alamofire.serialization.response.error.data=<>, NSLocalizedDescription=Request failed: internal server error (500)}
Volley中POST方式使用聚合数据返回"错误的请求KEY!"
使用Volley框架,聚合数据的邮编查询接口,如果使用JsonObjectRequest的POST方式请求数据,会返回"错误的请求KEY!",但是使用StringRequest就可以正常返回结果。请问这是什么原因?LogCat中没有报其他信息。 聚合数据信息: ```java public static final String JUHE_APPKEY = "我申请的聚合数据的APPKEY"; public static final String JUHE_API_URL = "http://v.juhe.cn/postcode/query"; ``` 有问题的代码: ```java private void volleyJsonObjectRequestDome_POST() { String url = JUHE_API_URL; Map<String, String> paramMap = new HashMap<>(); // TODO: 处理POST参数 paramMap.put("postcode", postcode); paramMap.put("key", JUHE_APPKEY); //产生JsonObject类型的参数 JSONObject jsonParam = new JSONObject(paramMap); //!!!!!!!!!!!!!!!!!!!!!!!!!!!! //测试KEY Log.i("DEBUG ###", jsonParam.toString()); //输出:DEBUG ###: {"postcode":"210044","key":"我申请的聚合数据的APPKEY"} //Log输出的KEY和我申请的KEY时一样的 JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url, jsonParam, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { // TODO: 处理返回结果 //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //这里不能得到正常的结果 Log.i("### onResponse", "POST_JsonObjectRequest:" + response.toString()); //输出:POST_JsonObjectRequest:{"error_code":10001,"result":null,"reason":"错误的请求KEY!","resultcode":"101"} } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // TODO: 处理错误 Log.e("### onErrorResponse", "POST_JsonObjectRequest:" + error.toString()); } }); jsonObjectRequest.setTag("JsonObjectRequestTest"); MyApplication.getRequestQueue().add(jsonObjectRequest); } ``` 正常的代码: ```java private void volleyStringRequestDome_POST() { String url = JUHE_API_URL; StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { @Override public void onResponse(String response) { //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //正常输出返回结果 Log.i("### onResponse", "POST_StringRequest:" + response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("### onErrorResponse", "POST_StringRequest:" + error.toString()); } }) { @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> paramMap = new HashMap<>(); // TODO: 处理POST参数 paramMap.put("postcode", postcode); paramMap.put("key", JUHE_APPKEY); return paramMap; } }; stringRequest.setTag("StringRequest_POST"); MyApplication.getRequestQueue().add(stringRequest); } ```
oc初学者:请问用application/json方式提交POST请求应该怎么写?
Header { "Content-Type":"application/json" } 用下面的代码取不到返回值,请问应该怎么写? - (void)POSTRequestWithUrl:(NSString *)urlString paramaters:(NSMutableDictionary *)paramaters successBlock:(SuccessBlock)success FailBlock:(failBlock)fail { NSMutableString *strM = [[NSMutableString alloc] init]; [paramaters enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) { // 服务器接收参数的 key 值. NSString *paramaterKey = key; // 参数内容 NSString *paramaterValue = obj; // appendFormat :可变字符串直接拼接的方法! [strM appendFormat:@"%@=%@&",paramaterKey,paramaterValue]; }]; NSString *body = [strM substringToIndex:strM.length - 1]; NSData *bodyData = [body dataUsingEncoding:NSUTF8StringEncoding]; NSURL *url = [NSURL URLWithString:urlString]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60]; // 1.设置请求方法: request.HTTPMethod = @"POST"; // 2.设置请求体 request.HTTPBody = bodyData; //获得会话对象 NSURLSession *session = [NSURLSession sharedSession]; // 2. 发送网络请求. // completionHandler: 说明网络请求完成! NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { NSLog(@"%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]); // 网络请求成功: if (data && !error) { // 查看 data 是否是 JSON 数据. // JSON 解析. id obj = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error]; // 如果 obj 能够解析,说明就是 JSON if (!obj) { if ([[obj objectForKey:@"status"] isEqualToString:@"200"]) { obj = data; }else if ([[obj objectForKey:@"status"] isEqualToString:@"500"]) { NSLog(@"%@",[obj objectForKey:@"messageText"]); } } dispatch_async(dispatch_get_main_queue(), ^{// 成功回调 if (success) { success(obj,response); } }); }else{//失败回调 if (fail) { fail(error); } } }]; [dataTask resume]; }
Volley请求数据遇到问题,显示空指针
我用Volley请求数据传给了,而且Log也有数据,但是当我想用settext()把数据传进去,却显示空指针,而我要是把settext放在点击事件里面,就可以显示处理,求助这是怎么回事 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); getDataFromNet(); initData(); } private void initData() { //tv.setMovementMethod(ScrollingMovementMethod.getInstance());// 滚动 tv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Spanned spanned = Html.fromHtml(html, new Html.ImageGetter() { @Override public Drawable getDrawable(String source) { InputStream is = null; try { is = (InputStream) new URL(source).getContent(); Drawable d = Drawable.createFromStream(is, null); d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); is.close(); return d; } catch (Exception e) { return null; } } } , null); tv.setText(spanned); } } ); } private void initView() { tv = (TextView) findViewById(R.id.tv); } private void getDataFromNet() { RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { @Override public void onResponse(String s) { Log.i("aa", "post请求成功" + s); Toast.makeText(MainActivity.this, s, Toast.LENGTH_LONG).show(); /** * 解析数据 */ processData(s); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { Log.i("aa", "post请求失败" + volleyError.toString()); Toast.makeText(MainActivity.this, volleyError.toString(), Toast.LENGTH_LONG).show(); } }) { @Override protected Map<String, String> getParams() throws AuthFailureError { HashMap<String, String> map = new HashMap<>(); map.put("contentid", "567210bd5d774358778b4c51"); map.put("client", "2"); return map; } }; requestQueue.add(request); } private Bean.DData ddata; private void processData(String s) { final Bean data = Bean.getData(s); ddata = data.data; html = ddata.html; } } 这样是没问题的。 public class MainActivity extends AppCompatActivity { private TextView tv; private String url = "http://api2.pianke.me/article/info"; String html; Spanned spanned; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); getDataFromNet(); initData(); tv.setText(spanned); } private void initData() { //tv.setMovementMethod(ScrollingMovementMethod.getInstance());// 滚动 spanned = Html.fromHtml(html, new Html.ImageGetter() { @Override public Drawable getDrawable(String source) { InputStream is = null; try { is = (InputStream) new URL(source).getContent(); Drawable d = Drawable.createFromStream(is, null); d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); is.close(); return d; } catch (Exception e) { return null; } } } , null); } private void initView() { tv = (TextView) findViewById(R.id.tv); } private void getDataFromNet() { RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext()); StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { @Override public void onResponse(String s) { Log.i("aa", "post请求成功" + s); Toast.makeText(MainActivity.this, s, Toast.LENGTH_LONG).show(); /** * 解析数据 */ processData(s); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { Log.i("aa", "post请求失败" + volleyError.toString()); Toast.makeText(MainActivity.this, volleyError.toString(), Toast.LENGTH_LONG).show(); } }) { @Override protected Map<String, String> getParams() throws AuthFailureError { HashMap<String, String> map = new HashMap<>(); map.put("contentid", "567210bd5d774358778b4c51"); map.put("client", "2"); return map; } }; requestQueue.add(request); } private Bean.DData ddata; private void processData(String s) { final Bean data = Bean.getData(s); ddata = data.data; html = ddata.html; } } 但是这样就报空指针,请教各位
python 爬虫提交 request payload 数据问题
![图片说明](https://img-ask.csdn.net/upload/201601/11/1452481895_800072.png) 上图是谷歌显示 post 提交时候的数据。 登录以后,请求此POST链接时,没有数据只有一个错误:dwr.engine._remoteHandleException('0','0',{javaClassName:"com.netease.edu.commons.exceptions.FrontNotifiableRuntimeException",message:"not_auth"}); 我的目的是拿到这个dwr里面的数据。 还有这个Content-Type:"text/plain; charset=UTF-8"。是不是有关系。 求大神支招。万分感激
ionic4 post请求返回的数据在浏览器上是json格式,在android真机上返回却是html页面
我的项目是ionic4项目,angular的版本是angular7,写了个登陆页面在浏览器上测试是可以的返回的数据也是json格式,但是拿到手机测试,返回的数据就变成了html页面,内容大概就是项目中index.html中html; 头里面的responseType如果默认是json,那么直接就会报http failure during parsing for .... ,因为返回的是html所以无法解析;将responseType设置成text,就看到了返回是个html页面。 下面贴出部分的代码。。。 **http服务** ``` Login(userName: string, password: string) { let params = {"request":{"user_name":userName,"password":password,"user_auth":1}}; const httpOptions ={ headers:new HttpHeaders({ 'Content-Type':'application/json;chatset=UTF-8', }), }; return this.http.post(this.loginUrl,JSON.stringify(params),httpOptions); } ``` **页面组件** ``` this.http.Login(username,password).subscribe( (data:any)=>{ if(data.success=true){ this.loginError='成功'; alert('登录成功'); // sessionStorage.setItem('permission','true'); this.router.navigateByUrl('/main'); } else if(data.success=false){ this.loginError=data.error+'错误'; alert('登录失败'); } }, error =>{ this.loginError="登陆失败"+JSON.stringify(error); } ``` **跨域我也做了处理** proxy.config.json文件 ![图片说明](https://img-ask.csdn.net/upload/201906/25/1561427469_350939.png) angular.json文件 ![图片说明](https://img-ask.csdn.net/upload/201906/25/1561427484_150835.png) 最终发现,在浏览器上需要使用跨域处理,但是在android真机上不用,直接将angular.json文件中的proxyConfig删除,http请求的URL直接写全路径,设置的httpOption也要删除。 然后,重新打包测试,登陆成功了。
HELP!!!!Echarts图表无法显示数据了!!
我是想实现一个功能用Echarts显示数据库里面的帖子标题和点击量数据。后台做完了到前台却一直不显示数据,调了很长时间实在没办法了。不知道是哪里的问题。 目前显示的效果是这样的,下面我把后台到前台的代码都列出来。 ![图片说明](https://img-ask.csdn.net/upload/202002/29/1582957078_107415.png) 然后这个是浏览器控制台输出的从后台获取到的json格式数据 ![图片说明](https://img-ask.csdn.net/upload/202002/29/1582957097_336679.png) TieziMapper.xml ``` <select id="getListEchart" resultMap="BaseResultMap"> select biaoti,dianji from tiezi </select> ``` TieziDao.java ``` List<Tiezi> getListEchart(); ``` TieziService.java ``` public List<Tiezi> getListEchart(){ return tieziDao.getListEchart(); } ``` TieziController.java ``` @RequestMapping("listEchart") public Object ListEchart(){ List<Tiezi> list = tieziService.getListEchart(); return list; } ``` Main.jsp(这里的target='right'使用的IFrame框架让其固定显示) ``` <h2> <span class="icon-pencil-square-o"></span> 图表 </h2> <ul> <li> <a href='<%=path %>/admin/listEchart.jsp' target='right'> <span class="icon-caret-right"></span>帖子点击量统计</a> </li> </ul> ``` listEchart.jsp ``` <script> // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('main')); // 指定图表的配置项和数据 var option={ title:{ // 图表标题 text:'帖子点击数统计表' }, tooltip:{ trigger:'axis',//坐标轴触发提示框 }, legend:{//图表上方的类别显示 show:true, data:['访问量'] }, color:[ '#FF3333', ], xAxis:{//x轴 name:'名称', type:'category', data:mingchengs }, yAxis:{//y轴 name:'访问量', data:fangwenliangs, type:'value' }, series:[//系列(内容)列表 { name:'访问量', type:'bar', data:fangwenliangs, } ] }; myChart.showLoading();//数据加载完之前显示一段Loading动画 var mingchengs = []; var fangwenliangs = []; $.ajax({ type:"post",//post请求方式 url:"<%=request.getContextPath()%>/listEchart", data:{}, dataType:"json", success : function(result) { //请求成功时执行该函数内容,result即为服务器返回的json对象 if (result != null && result.length > 0) { for(var i=0;i<result.length;i++){ mingchengs.push(result[i].biaoti); fangwenliangs.push(result[i].dianji); console.log(mingchengs); console.log(fangwenliangs); } myChart.hideLoading(); //隐藏加载动画 } else { //返回的数据为空时显示提示信息 alert("图表请求数据为空,可能服务器暂未录入数据,您可以稍后再试!"); myChart.hideLoading(); } }, error : function(errorMsg) { //请求失败时执行该函数 alert("图表请求数据失败,可能是服务器开小差了"); myChart.hideLoading(); } } ) myChart.setOption(option); </script> ```
异步请求为何会请求完成跳转到server.ashx文件
``` $(function () { $("#ImgButOn").click(function () { $.ajax({ url: "server.ashx",//请求服务端地址 cache: false, type: "post",//请求方式 dataType: "json", data: { UserId: $("#TxtUser").val(), UserPwd: $("#TxtPwd").val() },//发送到服务端的数据 success: function (obj) { if (obj == "1") { $("#labPwd").text("登录成功"); } else { $("#labPwd").text("登录失败"); } } error: function (XmlHttpRequest, textStatus, errorThrown) { alert(XmlHttpRequest.responseText); } }) //success:function (date) {//服务端成功处理时回调函数 // alert(date ); //}, //error: function () {//服务端失败时的回调函数 // alert("请求未成功!"); //}, //预期服务端发回数据类型 }) }) SES_Model.User user = new SES_Model.User(); //服务端要获得客户端以AJAX请求发送过来的数据 string UserId = context.Request["TxtUser"]; string UserPwd = context.Request["TxtPwd"]; int i = 0; //在服务器中处理数据 if (UserId != null && UserPwd != null) { i = SES_BLL.Users_Service.User_Enter(UserId, UserPwd); } string msg = string.Empty; context.Response.ContentType = "text/plain"; context.Response.Write(i +""); context.Response.End(); ```
spring-security-4.0,重启服务后,post请求提示无权限
这个问题困扰我好久了,配置了Spring4.2.5+Spring security4.0(集成了cas)之后,采用Spring mvc框架,服务启动之后,访问服务时,如果第一个请求是Post请求,都返回403错误,跳转到指定的无权限页面,get请求就可以正常访问。打个比方就是我打开一个查询页面,按照查询条件查询了一些数据,这就等于是做了一次post请求,然后我关闭服务再重启,重启之后,我在刚才的查询页面按F5刷新,就跳转到了403页面。。。如果在浏览器地址栏中敲回车则能访问到查询页面。。。求大神帮忙解决。 applicationContext-security-cas.xml代码如下: ``` <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:sec="http://www.springframework.org/schema/security" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.0.xsd"> <!-- 浏览权限设定,根据自己的情况修改 --> <sec:http auto-config="true" use-expressions="true" disable-url-rewriting="true" entry-point-ref="casProcessingFilterEntryPoint"> <sec:anonymous enabled="false" /> <sec:intercept-url pattern="/**/*.jsp" access="isAuthenticated()" /> <sec:intercept-url pattern="/**/*.do" access="isAuthenticated()" /> <sec:intercept-url pattern="/**/*.html" access="isAuthenticated()" /> <sec:intercept-url pattern="/**/*.htm" access="isAuthenticated()" /> <sec:custom-filter position="CAS_FILTER" ref="casAuthenticationFilter" /> <sec:logout logout-success-url="${cas-server-url}/logout?service=${cas-service-url}" /> <sec:custom-filter ref="requestSingleLogoutFilter" before="LOGOUT_FILTER" /> <sec:custom-filter ref="singleLogoutFilter" before="CAS_FILTER" /> <sec:session-management invalid-session-url=""> <sec:concurrency-control max-sessions="1" error-if-maximum-exceeded="false" expired-url="/common/timeout.jsp" /> </sec:session-management> </sec:http> <!-- This filter handles a Single Logout Request from the CAS Server --> <bean id="singleLogoutFilter" class="org.jasig.cas.client.session.SingleSignOutFilter" /> <!-- This filter redirects to the CAS Server to signal Single Logout should be performed --> <bean id="requestSingleLogoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter"> <constructor-arg value="${cas-server-url}/logout?service=${cas-service-url}" /> <constructor-arg> <bean class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" /> </constructor-arg> <property name="filterProcessesUrl" value="/logout" /> </bean> <sec:authentication-manager alias="authenticationManager"> <sec:authentication-provider ref="casAuthenticationProvider" /> </sec:authentication-manager> <bean id="casAuthenticationFilter" class="org.springframework.security.cas.web.CasAuthenticationFilter"> <property name="authenticationManager" ref="authenticationManager" /> </bean> <bean id="casProcessingFilterEntryPoint" class="org.springframework.security.cas.web.CasAuthenticationEntryPoint"> <!-- 单点登录服务器登录URL --> <property name="loginUrl" value="${cas-server-url}/login" /> <property name="serviceProperties" ref="serviceProperties" /> </bean> <bean id="casAuthenticationProvider" class="org.springframework.security.cas.authentication.CasAuthenticationProvider"> <property name="authenticationUserDetailsService"> <bean class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper"> <constructor-arg ref="loginServiceImpl" /> </bean> </property> <property name="serviceProperties" ref="serviceProperties" /> <property name="ticketValidator"> <bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator"> <constructor-arg index="0" value="${cas-server-url}" /> </bean> </property> <property name="key" value="an_id_for_this_auth_provider_only" /> </bean> <bean id="serviceProperties" class="org.springframework.security.cas.ServiceProperties"> <property name="service" value="${cas-service-url}/login/cas" /> <property name="sendRenew" value="true" /> </bean> </beans> ``` Controller代码如下: ``` @RequestMapping(value = "/findDevice", method = { RequestMethod.POST, RequestMethod.GET })// public ModelAndView findDevice(HttpServletRequest request, String deviceName, String deviceNO) throws AppException { /** * 获取页面查询标志位,如果flag.equals("query") == true,则封装查询条件。 */ String flag = request.getParameter("flag"); // 封装查询条件 Map<String, String> map = new HashMap<String, String>(); if (null != flag && "query".equals(flag)) { map.put("deviceName", deviceName); map.put("deviceNO", deviceNO); } // 分页框架,该代码后的第一个查询接口会被执行分页操作 PageHelper.startPage(this.getPageNum(request), this.getPageSize(request)); // 查询资产集合 List<DeviceDTO> deviceDTOList = this.deviceServiceImpl .findAllDeviceList(map); // 初始化分页数据 PageInfo<DeviceDTO> pagehelper = new PageInfo<DeviceDTO>(deviceDTOList); // 封装页面所需数据 ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("pagehelper", pagehelper); modelAndView.addObject("deviceName", deviceName); modelAndView.addObject("deviceNO", deviceNO); modelAndView.setViewName("jb/sbgla/device/findDevice"); return modelAndView; } ```
java请求https,在本地可以,在服务器端请求失败
java请求https,在本地可以,在服务器端请求失败,是服务器端失败哦! 自己的前提是请求的url是正确的。 附上https请求代码,请大神一看: ``` public static JSONObject httpRequest(String requestUrl, String requestMethod, String outputStr) { JSONObject jsonObject = null; StringBuffer buffer = new StringBuffer(); try { // 创建SSLContext对象,并使用我们指定的信任管理器初始化 TrustManager[] tm = { new MyX509TrustManager() }; SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE"); sslContext.init(null, tm, new java.security.SecureRandom()); // 从上述SSLContext对象中得到SSLSocketFactory对象 SSLSocketFactory ssf = sslContext.getSocketFactory(); URL url = new URL(requestUrl); HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection(); httpUrlConn.setSSLSocketFactory(ssf); httpUrlConn.setDoOutput(true); httpUrlConn.setDoInput(true); httpUrlConn.setUseCaches(false); // 设置请求方式(GET/POST) httpUrlConn.setRequestMethod(requestMethod); if ("GET".equalsIgnoreCase(requestMethod)) httpUrlConn.connect(); // 当有数据需要提交时 if (null != outputStr) { OutputStream outputStream = httpUrlConn.getOutputStream(); // 注意编码格式,防止中文乱码 outputStream.write(outputStr.getBytes("UTF-8")); outputStream.close(); } // 将返回的输入流转换成字符串 InputStream inputStream = httpUrlConn.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String str = null; while ((str = bufferedReader.readLine()) != null) { buffer.append(str); } bufferedReader.close(); inputStreamReader.close(); inputStream.close(); inputStream = null; httpUrlConn.disconnect(); jsonObject = JSONObject.fromObject(buffer.toString()); } catch (ConnectException ce) { log.error("Weixin server connection timed out."); } catch (Exception e) { log.error("https request error:{}", e); } return jsonObject; } ```
ajax请求springmvc,springmvc不返还数据包括空字符串给ajax可以吗?
例如用ajax来修改数据,只要发修改请求给springmvc,而不需要他返回的数据。那么 springmvc不返回数据给ajax包括空字符串可以吗。 ``` function phbutton(){ var phone=prompt("请输入新的手机号码!"); if(valid(phone)==false){ alert("手机号码格式错误!"); return; } $.ajax({ type:"post", url:"./newphone", data:phone, contentType:"application/json;charset=UTF-8", success: function(data){ alert("手机号码更改成功!"); var e=document.getElementById("phone"); e.innerHTML=data; }, error:function(XMLHttpRequest, textStatus, errorThrown){ alert(xhr.responseText+" "+textStatus+" "+errorThrown); } }); ``` ``` @RequestMapping(value="/newphone",method =RequestMethod.POST) public void newphone(@RequestBody String phone){ System.out.println(phone); } ``` 我试了一下,ajax请求的时候会这样报错:Request method 'POST' not supported 但是如果Controller writer()返回点什么的话那么就不或报错。 还有就是直接在参数列表中添加PrintWriter writer,然后没有使用writer的话,也不会报错。难道如果不操作writer他会自己返回空字符吗?
js用post上传数据到服务器,responseText返回错误
我的index.js代码是这样的: 目的是将一个随机数字符串上传到服务器上,然后console.log服务器的返回值。 ``` var randomNum = Math.floor(Math.random() * 5).toString(); console.log(randomNum); var xhr = new XMLHttpRequest(); //创建XHR对象 xhr.open("post","helloWorld.js"); xhr.onreadystatechange = function() { if(xhr.readyState == 4) { if((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) { console.log("ok:"+xhr.status); console.log(xhr.responseText); }else { alert("Request was unsuccessful:" + xhr.status); } } //if }; xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"); xhr.send(randomNum); ``` 然后我的运行在服务器上的node.js代码名为helloWorld.js是这样的: 目的是接收浏览器传来的随机数,然后返回“ok” ``` //引入模块 var http = require("http"); var url = require("url"); var querystring = require("querystring"); console.log("!!!"); //创建服务器 var server = http.createServer( function(request, response) { console.log("?????"); console.log(request); var getData = ""; request.on("data", function(chunk){ getData += chunk;}); console.log(getData); //response.writeHeader(200,{"Content-Type":"text/javascript;charset=UTF-8"}); response.write("ok"); response.end(); }); //设置监听窗口 server.listen(3333,function(){ console.log("Server running..."); }); ``` 当我打开网站的时候: 1.chorme的控制台输出如下: 第一行是我产生的随机数 第二行是console.log("ok:"+xhr.status);的输出 第三行是console.log(xhr.responseText);的输出,问题出在这里,没有返回“ok”,而是显示了服务器上的文件helloWorld.js的代码,这是为什么呢?如何显示正确的结果“ok”? ![图片说明](https://img-ask.csdn.net/upload/201805/05/1525513748_190263.png) 2.云服务器的控制台输出的结果如下: 这里甚至没有输出“????”,这个我也不知道是为什么。 ![图片说明](https://img-ask.csdn.net/upload/201805/05/1525513777_152081.png) 请求指教!十分感谢!
数据显示不到统计图中
![图片说明](https://img-ask.csdn.net/upload/201908/07/1565169152_990363.png) 这些信息一个在统计图上变显示啊,为什么显示不到echart的统计图上 ``` <div style="text-align: center;"> <h2>商品类型统计</h2> </div> <!-- 2.为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style="width: 600px; height: 450px; float:left;" > <script type="text/javascript"> var myChart = echarts.init(document.getElementById('main')); //3.初始化,默认显示标题,图例和xy空坐标轴 myChart.setOption({ title : { text : '销售数量' }, tooltip : {}, legend : { data : [ '销售量' ] }, xAxis : { data : [] }, yAxis : {}, series : [ { name : '销售量', type : 'bar', data : [] } ] }); //4.设置加载动画(非必须) myChart.showLoading(); //数据加载完之前先显示一段简单的loading动画 //5.定义数据存放数组(动态变) var names = []; //建立一个类别数组(实际用来盛放X轴坐标值) var nums = []; //建立一个销量数组(实际用来盛放Y坐标值) //6.ajax发起数据请求 $.ajax({ type : "post", async : true, //异步请求(同步请求将会锁住浏览器,其他操作须等请求完成才可执行) url : "${pageContext.request.contextPath}/store/statisticsOne", //请求发送到controller data : {}, dataType : "json", //返回数据形式为json //7.请求成功后接收数据name+num两组数据 success : function(result) { //result为服务器返回的json对象 if (result) { //8.取出数据存入数组 for (var i = 0; i < result.length; i++) { names.push(result[i].pro_name); //迭代取出类别数据并填入类别数组 } for (var i = 0; i < result.length; i++) { nums.push(result[i].countproduct); //迭代取出销量并填入销量数组 } myChart.hideLoading(); //隐藏加载动画 //9.覆盖操作-根据数据加载数据图表 myChart.setOption({ xAxis : { data : names }, series : [ { // 根据名字对应到相应的数据 name : '数量', data : nums } ] }); } }, error : function(errorMsg) { //请求失败时执行该函数 alert("图表请求数据失败!"); myChart.hideLoading(); } }) </script> </div> ```
android post方式提交中文数据到服务器乱码问题
Android端代码 ``` AsyncHttpClient client = new AsyncHttpClient(); //URLEncoder.encode(category, "utf-8"); RequestParams params = new RequestParams(); if(path1!=null){ file1=new File(path1); } if(path2!=null){ file2=new File(path2); } params.put("shopname", proname); params.put("description", description); params.put("price", proprice); params.put("userphone",usernum); params.put("category", category); client.post(url, params, new AsyncHttpResponseHandler(){ @Override public void onSuccess(String content) { // TODO Auto-generated method stub super.onSuccess(content); if(content.equals("发布成功")){ Toast.makeText(homepage.this, content, 0).show(); name.setText(""); price.setText(""); number.setText(""); intro.setText(""); }else{Toast.makeText(homepage.this, "发布失败", 0).show();} } }); ``` 服务器端代码: ``` if(ServletFileUpload.isMultipartContent(request)){ try{ ServletFileUpload upload = new ServletFileUpload( new DiskFileItemFactory()); List<FileItem> items = upload.parseRequest(request); // 解析请求 int size = items == null ? 0 : items.size(); for (int i = 0; i < size; i++) { FileItem item = (FileItem) items.get(i); // 获取方法消息体中的每一段内容。 if (item.isFormField()) {// 如果是普通表单项目 if (item.getFieldName().equals("shopname")) { shop.setShopname(new String(item.getString().getBytes("ISO8859-1"), "UTF-8")); } else if (item.getFieldName().equals("description")) { shop.setDescription(new String(item.getString().getBytes("ISO8859-1"), "UTF-8")); } else if (item.getFieldName().equals("price")) { shop.setPrice((df.format(Double.valueOf(item.getString())))); } else if (item.getFieldName().equals("userphone")) { shop.setUserphone(item.getString()); } else if (item.getFieldName().equals("category")) { shop.setCategory(new String(item.getString().getBytes("ISO8859-1"), "UTF-8")); a=new String(item.getString().getBytes("ISO8859-1"), "UTF-8"); }/*else if (item.getFieldName().equals("picture")) { shop.setPicture(new String(item.getString().getBytes("ISO8859-1"), "UTF-8")); }else if(item.getFieldName().equals("picture1")){ shop.setPicture1(new String(item.getString().getBytes("ISO8859-1"), "UTF-8")); }*/else if(item.getFieldName().equals("userid")){ shop.setUserid(Integer.parseInt(new String(item.getString().getBytes()))); } ``` 为啥我用jsp提交中文不乱码,Android提交乱码呢,我用了android-async-http-1.4.4.jar包,post方式提交数据到服务器的,求解决,大神快来吧,我才接触Android,谢谢啦
django使用@login_required时出现重定向次数过多问题是怎么回事
报错如下: ![图片说明](https://img-ask.csdn.net/upload/201908/23/1566554722_363027.png) 目录如下: ![图片说明](https://img-ask.csdn.net/upload/201908/23/1566554300_221679.png) index的views.py: ![图片说明](https://img-ask.csdn.net/upload/201908/23/1566554666_927148.png) login的views.py: ``` from django.shortcuts import render, redirect from .forms import * # Create your views here. def login_views(request): if request.method == 'GET': # 获取请求源地址,如果没有的话则获取'/' url = request.META.get('HTTP_REFERER', '/') # print("请求源地址:"+url) # 判断session中是否有uid和uname if 'uid' in request.session and 'uname' in request.session: return redirect(url) else: # 判断cookie中是否有uid和uname, if 'uid' in request.COOKIES and 'uname' in request.COOKIES: # 如果有的话则取出来并保存进session,再回首页 uid = request.COOKIES['uid'] uname = request.COOKIES['uname'] request.session['uid'] = uid request.session['uname'] = uname return redirect(url) else: form = LoginForm() # 构建响应对象,并将url保存进cookies resp = render(request, 'login.html', locals()) resp.set_cookie('url', url) return resp else: # post请求 # 获取请求源地址 url = request.META.get('HTTP_REFERER', '/') # 接收uname和upwd判断是否登录成功 uname = request.POST['uname'] upwd = request.POST['upwd'] user_name = Users.objects.filter(uname=uname) users = Users.objects.filter(uname=uname, upwd=upwd) # 如果成功继续向下执行,否则回到登录页 if users: # 登录成功,将id和uname保存进session id = users[0].id request.session['uid'] = id request.session['uname'] = uname # 如果有记住密码则将数据保存进cookies # 先从cookies中将url的值获取出来 url = request.COOKIES.get('url', '/') resp = redirect(url) # 如果url存在于cookies中的话,则将url从cookies中删除出去 if 'url' in request.COOKIES: resp.delete_cookie('url') if 'isSave' in request.POST: expires = 60 * 60 * 24 * 365 resp.set_cookie('uid', id, expires) resp.set_cookie('uname', uname, expires) return resp else: # 登录失败,回到登录页面 message = '登录失败!' return redirect('/login/') ```
Servlet登录验证写法,为啥不成功呀?
一直跳转到error页面,想各位看看是不是我代码有问题.. DBConn.java package dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBConn { public static Connection conn = null; /** * 得到数据库连接 */ public static Connection getConnection() throws ClassNotFoundException, SQLException, InstantiationException, IllegalAccessException { try { // 指定驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 建立数据库连结 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/system","root", "root"); return conn; } catch (Exception e) { // 如果连接过程出现异常,抛出异常信息 throw new SQLException("驱动错误或连接失败!"); } } /* * 释放连接 */ public static void closeConnection() throws Exception { if (conn != null && !conn.isClosed()) System.out.println("数据库关闭"); conn.close(); } } UserDao.java package dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import dao.User; import dao.DBConn; public class UserDao { private Connection conn = null; private PreparedStatement ps; public User login(String username, String password) throws Exception{ //List<User> users = new ArrayList<User>(); String sql = "select * from user where username = ? and password = ?"; //List<User> users=new ArrayList<User>(); conn=DBConn.getConnection(); ps=conn.prepareStatement(sql); ps.setString(1, username); ps.setString(2, password); ResultSet rs=ps.executeQuery(); while(rs.next()) { User user=new User(); user.setUsername(rs.getString("username"));//得到数据库中列 传入账号到User对象 user.setPassword(rs.getString("password")); //users.add(user); } return null; } } LoginServlet.java package servlet; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.mysql.jdbc.StringUtils; import dao.DBConn; import dao.User; import dao.UserDao; /** * Servlet implementation class LoginServlet */ @WebServlet("/LoginServlet") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; DBConn db = new DBConn(); UserDao userDao = new UserDao(); User user = new User(); /** * @see HttpServlet#HttpServlet() */ public LoginServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doPost(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("utf-8"); PrintWriter out= response.getWriter(); String username=request.getParameter("username"); String password=request.getParameter("password"); UserDao userDao = new UserDao(); User user = null; try { user = userDao.login(username,password); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } // 判断user是否为空 if(user != null){ // 转发到LoginSuccess.jsp页面 // getRequestDispatcher()是请求转发 request.getRequestDispatcher("register.jsp").forward(request, response); }else{ // 登录失败 request.getRequestDispatcher("error.jsp").forward(request, response); } } } login.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登录页面</title> </head> <body> <form action="LoginServlet" method="post"> 用户名:<input type="text" name="username"> 密码:<input type="password" name="psd"> <input type="submit" value="登录"> </form> </body> </html> register.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>$Title$</title> </head> <body> 成功! </body> </html> error.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>$Title$</title> </head> <body> 失败! </body> </html>
向后台发送请求, 数据增加成功,后台向前端返回值为显示失败, 不知道是什么原因
这是我的后台代码: ``` @PostMapping("/certifications") @Timed public ResponseEntity<Certification> createCertification(@RequestBody Certification certification) throws URISyntaxException { log.debug("REST request to save Certification : {}", certification); if (certification.getId() != null) { throw new BadRequestAlertException("A new certification cannot already have an ID", ENTITY_NAME, "idexists"); } log.info("certification的id {}", certification.getId()); Certification result = certificationRepository.save(certification); log.info("save 后的certifications {}", result.getId()); System.out.println("/api/certifications/" + result.getId()); System.out.println(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getId().toString())); return ResponseEntity.created(new URI("/api/certifications/" + result.getId())) .headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getId().toString())) .body(result); } ``` 这是我前端代码: ``` this.certification.type = '身份证'; this.certification.isverify = '未审核'; this.certification.userId = this.user.id; console.log("进入examine()"); console.log(this.certification); this.isSaving = true; if (this.certification.id !== undefined) { this.subscribeToSaveResponse( this.certificationProvider.update(this.certification)); } else { this.subscribeToSaveResponse( this.certificationProvider.create(this.certification)); } console.log("实名认证完成"); create(certification: Certification): Observable<Certification> { const copy = this.convert(certification); return this.http.post(this.resourceUrl, copy).map((res: Response) => { console.log("Response 的"+res.json()); const jsonResponse = res.json(); console.log("jsonResponse 的"+jsonResponse); return this.convertItemFromServer(jsonResponse); }); } private subscribeToSaveResponse(result: Observable<Certification>) { //noinspection TypeScriptUnresolvedVariable console.log("subscribeToSaveResponse 里的 result"+result); result.subscribe((res: Certification) => this.onSaveSuccess(res), (res: Response) => this.onSaveError()); } private onSaveSuccess(result: Certification) { this.event.publish('carListModification', 'OK'); this.isSaving = false; this.view.dismiss(result); } private onSaveError() { this.isSaving = false; console.log("失败"); } ```
PHP中require请求,文件是存在的后面的代码也不执行
新手小白一枚刚开始学习PHP,代码如下: header("content-type:text/html;charset=utf-8"); require'https_request.php'; echo "hello world"; 后面本有代码,但是我没丢进来,是调用https_request.php里面的方法的代码。 https_request.php文件里的代码如下: function https_request($url,$data = null) //定义一个执行url会话的方法 { $curl = curl_init(); //初始化一个url会话 curl_setopt($curl, CURLOPT_URL, $url); //设置想用PHP取回的url地址 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); //终止从服务端进行验证 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); //检查服务器证书 curl_setopt($cURL, CURLOPT_TIMEOUT,2); //设置cURL允许执行的最长秒数,2秒 if (!empty($data)) //判断传输的数据是否为空 { curl_setopt($curl, CURLOPT_POST, 1); //发送一个常规的POST请求 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); //POST内容 } curl_setopt($curl,CURLOPT_RETURNTRANSFER , 1); //文件流的形式返回,而不是直接输出 $output = curl_exec($curl); //执行curl会话将结果复制给变量 curl_close($curl); //关闭curl会话 return $output; //返回执行curl会话得到的结果 } https_request.php这个文件和第一段代码所在的文件是同一个文件夹下。但是我扔在服务器上执行的时候,跳转到第一个文件的代码,里就是空白一片。审查元素返回的错误码是500,而且那句echo也不执行。但是加载的文件名和require是对的啊,是哪里错了啊?求大神解答!
c# jsonpost 数组 不成功
本人要post json 数据,数据里出现数组memberList时post返回"Unknown property 'memberList'"错误 ,去掉memberList数组post成功,不明白?? string temp2 = "{\"memberList\":[{\"userId\":\"\",\"userName\":\"吴\",\"userPhone\":\"1382562699\"}],\"distCode\":\"44120100003\",\"beginTime\":\"2015-10-10 08:00:00\",\"script\":\"12语音\",\"endTime\":\"2015-10-10 18:00:00\",\"activityName\":\"任务名称\"}"; string strUrl = @"http://10.150.29.234:9080/ocmx2/activity/taskDetail.action"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl); request.Method = "POST"; request.ContentType = "application/json;charset=GBK"; byte[] payload=System.Text.Encoding.GetEncoding("GBK").GetBytes(temp2); //将Json字符串转化为字节 //设置请求的ContentLength request.ContentLength =payload.Length; //发送请求,获得请求流 System.IO.Stream writer; try { writer = request.GetRequestStream();//获取用于写入请求数据的Stream对象 } catch (Exception) { writer = null; } //将请求参数写入流 writer.Write(payload, 0, payload.Length); writer.Close();//关闭请求流 // String strValue = "";//strValue为http响应所返回的字符流 HttpWebResponse response=null; try { //获得响应流 response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { // response = ex.Response; } string StrDate = ""; string strValue = ""; System.IO.Stream s =response.GetResponseStream(); System.IO.StreamReader Reader = new System.IO.StreamReader(s, Encoding.GetEncoding("GBK")); while ((StrDate = Reader.ReadLine()) != null) { strValue += StrDate + "\r\n"; } textBox2.Text = strValue; s.Close();
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
20道你必须要背会的微服务面试题,面试一定会被问到
写在前面: 在学习springcloud之前大家一定要先了解下,常见的面试题有那块,然后我们带着问题去学习这个微服务技术,那么就会更加理解springcloud技术。如果你已经学了springcloud,那么在准备面试的时候,一定要看看看这些面试题。 文章目录1、什么是微服务?2、微服务之间是如何通讯的?3、springcloud 与dubbo有哪些区别?4、请谈谈对SpringBoot 和S...
讲真,这两个IDE插件,可以让你写出质量杠杠的代码
周末躺在床上看《拯救大兵瑞恩》 周末在闲逛的时候,发现了两个优秀的 IDE 插件,据说可以提高代码的质量,我就安装了一下,试了试以后发现,确实很不错,就推荐给大家。 01、Alibaba Java 代码规范插件 《阿里巴巴 Java 开发手册》,相信大家都不会感到陌生,其 IDEA 插件的下载次数据说达到了 80 万次,我今天又贡献了一次。嘿嘿。 该项目的插件地址: https://github....
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
有网友说:2020年还不懂Spring就放弃Java吧?
前言 Spring这个词对于开发者想必不会陌生,可能你每天都在使用Spring,享受着Spring生态提供的服务,理所当然的用着SpringIOC和SpringAOP去实现老板交给你的功能 ,唔 它就是这样使用的(类声明为Bean组件,然后注入),没错 能完成老板任务,没毛病。如果向你提问什么是Spring,Spring有什么核心功能呢,你会想:这太简单了,Spring就是框架嘛,Spring核...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
2020 年,大火的 Python 和 JavaScript 是否会被取而代之?
Python 和 JavaScript 是目前最火的两大编程语言,但是2020 年,什么编程语言将会取而代之呢? 作者 |Richard Kenneth Eng 译者 |明明如月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: Python 和 JavaScript 是目前最火的两大编程语言。然而,他们不可能永远屹立不倒。最终,必将像其他编程语言一...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
没用过这些 IDEA 插件?怪不得写代码头疼
使用插件,可以提高开发效率。对于开发人员很有帮助。这篇博客介绍了IDEA中最常用的一些插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
最全最强!世界大学计算机专业排名总结!
我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您! (为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!) 目录 泰晤士高等教育世界大学排名 QS 世界大学排名 US News 世界大学排名 世界大学学术排名(Academic Ranking of World Universities) 泰晤士高等教育世界大学排名 中国共...
《java面试宝典》三 类初始化和类实例化顺序
前言: 社长,4年api搬运工程师,之前做的都是一些框架的搬运工作,做的时间越长,越发感觉自己技术越菜,有同感的社友,可以在下方留言。现侧重于java底层学习和算法结构学习,希望自己能改变这种现状。 为什么大厂面试,更侧重于java原理底层的提问,因为通过底层的提问,他能看出一个人的学习能力,看看这个人的可培养潜力。随着springboot的流行,大部分的开发,起步就是springboot。也...
一份王者荣耀的英雄数据报告
咪哥杂谈本篇阅读时间约为 6 分钟。1前言前一阵写了关于王者的一些系列文章,从数据的获取到数据清洗,数据落地,都是为了本篇的铺垫。今天来实现一下,看看不同维度得到的结论。2环境准备本次实...
工作十年的数据分析师被炒,没有方向,你根本躲不过中年危机
2020年刚刚开始,就意味着离职潮高峰的到来,我身边就有不少人拿着年终奖离职了,而最让我感到意外的,是一位工作十年的数据分析师也离职了,不同于别人的主动辞职,他是被公司炒掉的。 很多人都说数据分析是个好饭碗,工作不累薪资高、入门简单又好学。然而今年34的他,却真正尝到了中年危机的滋味,平时也有不少人都会私信问我: 数据分析师也有中年危机吗?跟程序员一样是吃青春饭的吗?该怎么保证自己不被公司淘汰...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
张朝阳回应迟到 1 分钟罚 500:资本家就得剥削员工
loonggg读完需要2分钟速读仅需 1 分钟大家我,我是你们的校长。前几天,搜狐的董事局主席兼 CEO 张朝阳和搜狐都上热搜了。原因很简单,就是搜狐出了“考勤新规”。一封搜狐对员工发布...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过1825天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和20位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
立即提问