请大神们帮帮,httpResponse.getStatusLine().getStatusCode()

public String httpGet(String url, String params) throws Exception{
String response = null; //返回信息
//拼接请求URL
if (null!=params&&!params.equals("")){
url += "?" + params;
}
int timeoutConnection = 3000;
int timeoutSocket = 5000;
HttpParams httpParameters = new BasicHttpParams();// Set the timeout in milliseconds until a connection is established.

HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);// Set the default socket timeout (SO_TIMEOUT) // in milliseconds which is the timeout for waiting for data.

HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);

// 构造HttpClient的实例
HttpClient httpClient = new DefaultHttpClient(httpParameters);

// 创建GET方法的实例
HttpGet httpGet = new HttpGet(url);
try{
HttpResponse httpResponse = httpClient.execute(httpGet);
if(httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
int statusCode = httpResponse.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK){ //SC_OK = 200
response = EntityUtils.toString(httpResponse.getEntity());

            }
            else{
                response = "返回码:"+statusCode;
            }
        }else{
            System.out.println("--------------请求链接失败----------------");
        }
    } catch (Exception e){
        System.out.println("--Exception--");
        e.printStackTrace();
    }finally{
        // 当不再需要HttpClient实例时,关闭连接管理器以确保释放所有占用的系统资源 
        httpClient.getConnectionManager().shutdown();
    }
    return response;
}

每次执行httpResponse.getStatusLine().getStatusCode(),第一次执行时很容易链接失败

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android Service网络下载视频
下面这段代码在Service中运行和在Activity中运行得到的长度为什么会不同 HttpClient httpClient=new DefaultHttpClient(); HttpPost httpPost=new HttpPost(HttpUrlUtil.WEBSERVER_PATH+downloadPath); httpResponse=httpClient.execute(httpPost); HttpEntity httpEntity=httpResponse.getEntity(); BufferedHttpEntity bufferedHttpEntity = new BufferedHttpEntity(httpEntity); System.out.println(httpResponse.getStatusLine().toString()); System.out.println("bufferedHttpEntity"+bufferedHttpEntity.getContentLength()); 在Service onStartCommand中运行返回的bufferedHttpEntity.getContentLength()一直都是6277,httpResponse.getStatusLine().toString()返回的是200
如何判断服务器端是否支持文件的分段下载
[code=java] HttpGet httpGet=new HttpGet(downloadUrl); HttpClient httpClient=new DefaultHttpClient(); HttpResponse httpResponse=httpClient.execute(httpGet); if(httpResponse.getStatusLine().getStatusCode()==200){ HttpEntity entity=httpResponse.getEntity(); fileSize=(int)entity.getContentLength(); } [/code] 可以获取文件的大小。 才能判断服务器是否支持文件的分段下载吗?
用 httpclient 上传文件 和 普通参数 时服务器返回400
public void run() { //TelephonyManager telephonyManager= (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); try { HttpClient clicent = new DefaultHttpClient(); HttpPost post = new HttpPost(actionUrl); //FileBody fileBody = new FileBody(files.get("img")); //用这里的代码服务器返回400错误 //MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); //entity.addPart("cId",new StringBody("11",Charset.forName(HTTP.UTF_8))); //entity.addPart("img",new FileBody(files.get("img"))); List<NameValuePair> params= new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("cId","111")); post.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8)); //post.setEntity(entity); HttpResponse httpResponse = clicent.execute(post); if (httpResponse.getStatusLine().getStatusCode()==200) { System.out.println(httpResponse.getStatusLine().getStatusCode()); } System.out.println(httpResponse.getStatusLine().getStatusCode()); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
求各位大神帮忙 急急急... 点击事件直接不执行了 告诉我怎么修改下
/* * 上拉加载 */ public class queren extends Activity implements IXListViewListener{ public Context context; public TelephonyManager telephonyManager; public String deviceId; private static String url ="http://www.yicaxie.cn:8918/xxdj/mobile/courierAppService"; public List<OrderList> list; private XListView mListView; List<HashMap<String, Object>> data; //分页参数开始 private int starter=0; //一开始 private int ender=20; //每页条数 JSONObject commonJson; private String refreshCnt="0"; private String init = "0"; String a; private Handler mHandler; SimpleAdapter simpleAdapterer; private SimpleDateFormat mDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); HashMap<String, Object> map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.queren); try { orderList() ; mListView = (XListView) findViewById(R.id.querenlistview); mListView.setPullLoadEnable(true); simpleAdapterer =new SimpleAdapter(queren.this, data, R.layout.item, new String[]{"orderId","orderState","userName","phoneNumber","orderDate","address","orderTotal","payType","shoesInfo"}, new int[]{R.id.orderId,R.id.orderstate,R.id.userName,R.id.phoneNumber,R.id.orderDate,R.id.address,R.id.orderTotal,R.id.payType,R.id.shoesInfo}); mListView.setAdapter(simpleAdapterer); mListView.setXListViewListener(this); mHandler = new Handler(); } catch (Exception e) { e.printStackTrace(); } } //下拉 private void geneItems() { starter =0; ender =20; refreshCnt="0"; init = "0"; } //上啦 private void getItems() { starter =starter+20; ender =20; init = "1"; refreshCnt=a; } private String formatDateTime(long time) { if (0 == time) { return ""; } return mDateFormat.format(new Date(time)); } /* * 显示时间 */ private void onLoad() { mListView.stopRefresh(); mListView.stopLoadMore(); String text = formatDateTime(System.currentTimeMillis()); mListView.setRefreshTime(text); } public void orderList() throws Exception { /* * 获取玩设备号 */ telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); deviceId = "" + telephonyManager.getDeviceId(); //创建实体类对象 OrderType ordertype =new OrderType(); PhoneState phoneState =new PhoneState(); // HttpPost连接对象 HttpPost httpRequest = new HttpPost(url); // 使用NameValuePair来保存要传递的Post参数 List<NameValuePair> params = new ArrayList<NameValuePair>(); // 添加调用方法参数 params.add(new BasicNameValuePair("action", "getOrderList")); //添加公用参数 commonJson = new JSONObject(); commonJson.put("loginId",phoneState.getLoginId()); commonJson.put("loginKey",phoneState.getLoginKey()); commonJson.put("deviceId",deviceId); commonJson.put("version",phoneState.getVersion()); commonJson.put("deviceType",phoneState.getDeviceType() ); params.add(new BasicNameValuePair("commonParams", commonJson.toString())); //添加业务参数 JSONObject paramJson = new JSONObject(); paramJson.put("type", ordertype.getType()); paramJson.put("courierId", ordertype.getCourierId()); paramJson.put("start",starter ); paramJson.put("end",ender ); paramJson.put("queryId",refreshCnt ); params.add(new BasicNameValuePair("params", paramJson.toString())); try { //设置字符集 HttpEntity httpentity = new UrlEncodedFormEntity(params, HTTP.UTF_8); //请求httpRequest httpRequest.setEntity(httpentity); //取得默认的HttpClient HttpClient httpclient = new DefaultHttpClient(); //取得HttpResponse HttpResponse httpResponse = httpclient.execute(httpRequest); //HttpStatus.SC_OK表示连接成功 if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { //取得返回的字符串 String strResult = EntityUtils.toString(httpResponse.getEntity()); RspVO rspVO = GsonUnit.getObject(strResult, RspVO.class); if(rspVO.getCode().equals("0")){ String rtnValue = rspVO.getRtnValues(); list = new Gson().fromJson(rtnValue, new TypeToken<List<OrderList>>(){}.getType()); if(list!=null&&list.size()>0) { data = new ArrayList<HashMap<String, Object>>(); for (int i = 0; i < list.size(); i++) { map = new HashMap<String, Object>(); map.put("id", list.get(i).getId()); map.put("orderId", list.get(i).getOrderId()); map.put("orderState", list.get(i).getOrderState()); map.put("userName", list.get(i).getUserName()); map.put("phoneNumber", list.get(i).getPhoneNumber()); map.put("orderDate", list.get(i).getOrderDate()); map.put("address", list.get(i).getAddress()); map.put("orderTotal", list.get(i).getOrderTotal()); map.put("payType", list.get(i).getPayType()); map.put("shoesInfo", list.get(i).getShoesInfo()); data.add(map); } if(init.equals("0")){ a =list.get(0).getId(); } simpleAdapterer =new SimpleAdapter(queren.this, data, R.layout.item, new String[]{"orderId","orderState","userName","phoneNumber","orderDate","address","orderTotal","payType","shoesInfo"}, new int[]{R.id.orderId,R.id.orderstate,R.id.userName,R.id.phoneNumber,R.id.orderDate,R.id.address,R.id.orderTotal,R.id.payType,R.id.shoesInfo}); mListView.setAdapter(simpleAdapterer); //列表点击事件 mListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapoter, View view, int position, long ids) { HttpPost httpRequest = new HttpPost(url); List<NameValuePair> params = new ArrayList<NameValuePair>(); // 添加调用方法参数 params.add(new BasicNameValuePair("action", "getOrderList")); // 添加公有参数 params.add(new BasicNameValuePair("commonParams", commonJson.toString())); //添加私有参数 JSONObject paramJson = new JSONObject(); try { paramJson.put("id", list.get(position).getId()); } catch (JSONException e2) { e2.printStackTrace(); } params.add(new BasicNameValuePair("params", paramJson.toString())); try { //设置字符集 HttpEntity httpentity = new UrlEncodedFormEntity(params, HTTP.UTF_8); //请求httpRequest httpRequest.setEntity(httpentity); //取得默认的HttpClient HttpClient httpclient = new DefaultHttpClient(); //取得HttpResponse HttpResponse httpResponse = httpclient.execute(httpRequest); //HttpStatus.SC_OK表示连接成功 if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { //取得返回的字符串 String strResult = EntityUtils.toString(httpResponse.getEntity()); RspVO rspVO = GsonUnit.getObject(strResult, RspVO.class); if(rspVO.getCode().equals("0")){ String rtnValue = rspVO.getRtnValues(); Intent intent =new Intent(queren.this,querenmore.class); intent.putExtra("rtnValue", rtnValue); startActivityForResult(intent, 0); finish(); } } } catch (ClientProtocolException e) { e.printStackTrace(); System.out.println(e); } catch (IOException e) { e.printStackTrace(); System.out.println(e); } catch (Exception e) { e.printStackTrace(); System.out.println(e); } } }); } else{ Toast.makeText(queren.this, "没有更多数据", Toast.LENGTH_SHORT).show(); } if(list.size()<20) { Toast.makeText(context, "没有更多数据", Toast.LENGTH_SHORT).show(); } }else { Toast.makeText(queren.this, "服务器无相应", Toast.LENGTH_SHORT).show(); } } else { } } catch (ClientProtocolException e) { e.printStackTrace(); System.out.println(e); } catch (IOException e) { e.printStackTrace(); System.out.println(e); } catch (Exception e) { e.printStackTrace(); System.out.println(e); } } /* * 下拉 * @see com.exaple.view.XListView.IXListViewListener#onRefresh() */ @Override public void onRefresh() { mHandler.postDelayed(new Runnable() { @Override public void run() { data.clear(); geneItems(); try { orderList(); } catch (Exception e) { e.printStackTrace(); } onLoad(); //显示时间 } }, 2000); } /* * 上拉 * @see com.exaple.view.XListView.IXListViewListener#onLoadMore() */ @Override public void onLoadMore() { mHandler.postDelayed(new Runnable() { @Override public void run() { getItems(); //调用上拉改变值 try { orderList(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } simpleAdapterer.notifyDataSetChanged(); onLoad(); } }, 2000); } }
Android程序,虚拟机上可运行,真机上出错。为啥?
HTTP GET程序,在真机上每次执行到try中的第二部,后面就不执行了,就跳到catch里了,但是虚拟机上try正常。 // 第二步:使用execute方法发送HTTP GET请求,并返回HttpResponse对象 httpResponse = new DefaultHttpClient().execute(httpGet); // 判断请求响应状态码,状态码为200表示服务端成功响应了客户端的请求 if (httpResponse.getStatusLine().getStatusCode() == 200) { // 第三步:使用getEntity方法获得返回结果 String result = EntityUtils.toString(httpResponse .getEntity()); // 去掉返回结果中的"\r"字符,否则会在结果字符串后面显示一个小方格 tvQueryResult.setText(result.replaceAll("\r", "")); Toast.makeText(getBaseContext(), "Get", Toast.LENGTH_SHORT) .show(); }
Android中关于HttpClient的问题
小白想请教下各位大神,使用HttpUplConnnection时需要用到IO流对数据进行读取,然而使用HttpClient时却不需要用到。。例如: try { HttpClient httpClient = new DefaultHttpClient();//获取实例 HttpGet httpGet = new HttpGet(address[0]);//创建HttpGet对象,传入网络地址 HttpResponse httpResponse = httpClient.execute(httpGet);//IOException if (httpResponse.getStatusLine().getStatusCode() == 200){ HttpEntity httpEntity = httpResponse.getEntity();//获取HttpEntity实例 result = EntityUtils.toString(httpEntity,"utf-8");//转换为字符串 return result; } } catch (IOException e) { e.printStackTrace(); } 是不是里面哪里封装了对IO的操作,使我们不用像HttpUplConnnection那样对使用IO。。。。另外想问下,使用HttpClient的过程中,会抛出什么其它的异常? 多谢各位解答下小白的疑问!
Android关于下载进度条更新问题
@Override protected Bitmap doInBackground(String... params) { Bitmap bitmap=null; ByteArrayOutputStream outputStream=new ByteArrayOutputStream(); InputStream inputStream=null; try { HttpClient httpClient=new DefaultHttpClient(); HttpGet httpGet=new HttpGet(params[0]); HttpResponse httpResponse=httpClient.execute(httpGet); if (httpResponse.getStatusLine().getStatusCode()==200) { inputStream=httpResponse.getEntity().getContent(); long file_length=httpResponse.getEntity().getContentLength(); int len=0; byte[] data=new byte[1024]; int duqulength=0; while((len=inputStream.read(data)) != -1){ duqulength +=len; int values=(int) ((duqulength/file_length)*100); publishProgress(values); System.out.println(values); outputStream.write(data, 0, len); } byte[] date1=outputStream.toByteArray(); bitmap=BitmapFactory.decodeByteArray(date1, 0, date1.length); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally { if (inputStream!=null) { try { inputStream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } return bitmap; } } 这个是代码 为什么进度条不更新啊 就最后一下子变100
求解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); } } } } ```
httpie 形式 用 httpclient 改写问题
http PATCH 127.0.0.1:8080/db/col/*?filter={'__i d':{'$oid':'577b07800385b141c4d13ad1'},'submenu.subcode':'B013'} "submenu.$.subname"="test123" 现在要将上面的httpie 语句用httpclient 改写,我写的代码如下: public static String getContentByPara(String url){ String result= ""; DefaultHttpClient client = new DefaultHttpClient(); HttpPut httppatch = new HttpPut("127.0.0.1:8080/db/col/*"); httppatch.setHeader("Content-Type", "application/hal+json"); JSONObject para = new JSONObject(); para.put("submenu.$.subname", "test123"); try { List<NameValuePair> temp = new ArrayList<NameValuePair>(); temp.add(new BasicNameValuePair("filter", "{'_id':{'$oid':'577b07800385b141c4d13ad1'},'submenu.subcode':'B013'}")); String str = EntityUtils.toString(new UrlEncodedFormEntity(temp,"UTF-8")); httppatch.setEntity(new StringEntity(para.toString(),"UTF-8")); httppatch.setURI(new URI(httppatch.getURI().toString() + "?"+ str)); HttpResponse httpResponse = client.execute(httppatch); System.out.println(httpResponse.getStatusLine().toString()); if(httpResponse.getStatusLine().getStatusCode() == 200) { HttpEntity httpEntity = httpResponse.getEntity(); result = EntityUtils.toString(httpEntity); // System.out.println(result); }else{ httppatch.abort(); } } catch (ClientProtocolException e1){ e1.printStackTrace(); }catch (IOException e2){ e2.printStackTrace(); }catch (URISyntaxException e) { e.printStackTrace(); }finally { httppatch.releaseConnection(); } return null; } 但是报HTTP/1.1 405 Method Not Allowed
神奇的语句报错:return HttpResponse(post_lists)
django的部分代码如下 ``` from django.shortcuts import render from django.http import HttpResponse from .models import Post # Create your views here. def homepage(request): posts = Post.objects.all() post_lists = list() for count,post in enumerate(posts): post_lists.append("No.{}:".format(str(count)+str(post)+"<br>") return HttpResponse(post_lists) ``` 报错信息如下: python -m py_compile "views.py" (在目录 C:\venv\mblog\mainsite 中) File "views.py", line 10 :return HttpResponse(post_lists) SyntaxError: invalid syntax 编译失败。 return语句还能报错,小白一脸懵逼。
AsyncTask<String, Void, Bitmap>的调用,请问如下代码的调用?
public class MYTask extends AsyncTask<String, Void, Bitmap> { /** * 表示任务执行之前的操作 */ @Override protected void onPreExecute() { // TODO Auto-generated method stub super.onPreExecute(); dialog.show(); } /** * 主要是完成耗时的操作 */ @Override protected Bitmap doInBackground(String... arg0) { // TODO Auto-generated method stub // 使用网络连接类HttpClient类王城对网络数据的提取 HttpClient httpClient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(arg0[0]); Bitmap bitmap = null; try { HttpResponse httpResponse = httpClient.execute(httpGet); if (httpResponse.getStatusLine().getStatusCode() == 200) { HttpEntity httpEntity = httpResponse.getEntity(); byte[] data = EntityUtils.toByteArray(httpEntity); bitmap = BitmapFactory .decodeByteArray(data, 0, data.length); } } catch (Exception e) { // TODO: handle exception } return bitmap; } /** * 主要是更新UI的操作 */ @Override protected void onPostExecute(Bitmap result) { // TODO Auto-generated method stub super.onPostExecute(result); imageView.setImageBitmap(result); dialog.dismiss(); } }
请求超时的问题 HttpClient
public static String getJsonOfArray(String url) throws Exception { String JsonStr =null; if(url.contains("?")){ url +="&type=m"; }else{ url +="?type=m"; } HttpGet httpRequest = new HttpGet(url); HttpClient client = DefaultClient.getInstance(); [b]client.getParams().setParameter("http.socket.timeout",2000);[/b]//[i]设置请求服务器超时时间 不起作用[/i] client.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY); try { HttpResponse httpResponse = client.execute(httpRequest); if (httpResponse.getStatusLine().getStatusCode()==HttpStatus.SC_OK) { JsonStr = EntityUtils.toString(httpResponse.getEntity()); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } Log.i("XX","---JsonStr---"+JsonStr); return JsonStr; }
Android开发中,反向地理编码时,报连接被拒绝的错误
如题,在将经纬度转成地理位置时,在使用Google API时,连接总是错误,但是在电脑浏览器上却可以。 1. StringBuilder url = new StringBuilder(); url.append("http://maps.google.com/maps/api/geocode/json?latlng="); url.append(latitude).append(","); url.append(longitude); url.append("&sensor=false"); Log.d("TWO", "00000000000000"); HttpClient httpClient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet(url.toString()); // 在请求消息头中指定语言,保证服务器会返回中文数据 httpGet.addHeader("Accept-Language", "zh-CN"); Log.d("TWO", "1111111111111111111"); try { HttpResponse httpResponse = httpClient.execute(httpGet); if (httpResponse.getStatusLine().getStatusCode() == 200) { HttpEntity entity = httpResponse.getEntity(); String response = EntityUtils.toString(entity, "utf-8"); Log.d("TWO", "2222222222222222"); Message msg = Message.obtain(); msg.what = 0; msg.obj = response; handler.sendMessage(msg); }else { Log.d("TWO", "3333333333333333333333"); } } catch (Exception e) { // TODO: handle exception Log.d("TWO", e.toString()); } 日志打印000000000000000和1111111111111111,最后打印出错误,大概是connection to XXXX refusal。。求哪位大神赐教
HttpGet抛出异常,不明白!求指导~
想用数据库做一个登录验证的功能,服务器端响应正常,json数据包 {"ret":1,"num":123} ret是登录正常时的状态值,num是号码:123 url是192.168.1.3:8080/web/getActInfo params:num=123 通过logcat发现在httpGet中抛出了一个异常,但是搞不明白!!痛苦了一下午求点拨! public String httpGet(String url, String params) throws Exception { String response = null; if (null!=params&&!params.equals("")) { url += "?" + params; } int timeoutConnection = 8000; int timeoutSocket = 10000; HttpParams httpParameters = new BasicHttpParams();// Set the timeout in milliseconds until a connection is established. HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);// Set the default socket timeout (SO_TIMEOUT) // in milliseconds which is the timeout for waiting for data. HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket); HttpClient httpClient = new DefaultHttpClient(httpParameters); HttpGet httpGet = new HttpGet(url); try { HttpResponse httpResponse = httpClient.execute(httpGet); int statusCode = httpResponse.getStatusLine().getStatusCode(); if (statusCode == HttpStatus.SC_OK) //SC_OK = 200 { response = EntityUtils.toString(httpResponse.getEntity()); } else { response = "状态码"+statusCode; } } catch (Exception e) { throw new Exception(e); }
各位大神帮我解决下安卓用post方法向服务器传值,状态输出以及下面的输出都没有打印
private void postValues (JSONObject param) throws ClientProtocolException, IOException{ String url = "http://app.taosame.com/index.php/user/login.html"; System.out.println(url); HttpPost request = new HttpPost(url); // 绑定到请求 Entry StringEntity se; se = new StringEntity(param.toString()); System.out.println("StringEntity长度------->"+se.getContentLength()); request.setEntity(se); System.out.println("是否已经加入道Entity"+se); // 发送请求 HttpResponse httpResponse = new DefaultHttpClient().execute(request); System.out.println("状态-s------------------>"+httpResponse.getStatusLine().getStatusCode()); // 得到应答的字符串 String retSrc = EntityUtils.toString(httpResponse.getEntity()); System.out.println("返回值信息------------->"+retSrc); if(retSrc.equals("error")){ Toast.makeText(MainActivity.this, "用户名或密码错误", Toast.LENGTH_LONG).show(); } else if (retSrc.equals("error1")){ Toast.makeText(MainActivity.this, "没有该用户", Toast.LENGTH_LONG).show(); } else if (retSrc.equals("0")) { Toast.makeText(MainActivity.this, "请输入用户名和密码", Toast.LENGTH_LONG).show(); } else { Toast.makeText(MainActivity.this, "登陆成功", Toast.LENGTH_LONG).show(); } // 生成 JSON 对象 //JSONObject result = new JSONObject( retSrc); //String token = result.get("token"); }
httpclient的post调用sptingmvc服务,传递json到后台
httpclient的post调用springmvc服务,传递json到后台,在后台怎么接受这个json串,是想只接受这个json字符串,不是json对象 这是调用过程: ``` String response = null; String params = "{\"userInfo\":\"18575584371\"}"; int timeoutConnection = 3000; int timeoutSocket = 5000; HttpParams httpParameters = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection); HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket); HttpClient httpClient = new DefaultHttpClient(httpParameters); HttpPost httpPost = new HttpPost(targetURL); System.out.println(params); StringEntity entity = new StringEntity(params,"utf-8");//解决中文乱码问题 entity.setContentEncoding("UTF-8"); entity.setContentType("application/json"); httpPost.setEntity(entity); HttpResponse httpResponse; httpResponse = httpClient.execute(httpPost); int statusCode = httpResponse.getStatusLine().getStatusCode(); if (statusCode == HttpStatus.SC_OK) { // 获得返回结果 response = EntityUtils.toString(httpResponse.getEntity()); } else { response = "返回码:" + statusCode; } System.out.println(response); ``` 后台接收: ``` @RequestMapping(value = "/user/login", method = RequestMethod.POST) public Model login(Model model, @RequestParam String userInfo, HttpServletRequest request) {……} ``` 怎么都接收不到,400错误,求大神帮忙看看
android向asp.net传值的问题
android端的一段代码: String url = "http://10.0.2.2/milk%20yield.aspx?milk="+str_milk+"&feed="+str_feed; HttpGet httpRequest = new HttpGet(url); try { HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest); if (httpResponse.getStatusLine().getStatusCode() == 200) { String strResult = "success"; Toast.makeText(v.getContext(),strResult, Toast.LENGTH_SHORT).show(); 以上代码返回的值为200,应该就是成功上传数据了吧。但是asp.net服务端怎么接收呢?我用protected void getYieldButton_Click1(object sender, EventArgs e) { try { milkdata = Request.QueryString["milk"].ToString(); } catch { milkdata = ""; } getYieldTextBox.Text = milkdata; } 这样写接收到的就是“”没有值,哪里出错了吗
.net core 根据网络地址或者本地文件地址生成图片文件 本地测试没问题 发布到iis上之后 提示System.Drawing is not supported on this platform.
``` private System.Drawing.Image GetImage(string path) { try { if (path.StartsWith("http")) { System.Net.WebRequest request = System.Net.WebRequest.Create(path); request.Timeout = 10000; System.Net.HttpWebResponse httpresponse = (System.Net.HttpWebResponse)request.GetResponse(); Stream s = httpresponse.GetResponseStream(); return System.Drawing.Image.FromStream(s); } else { return System.Drawing.Image.FromFile(path); } } catch (Exception) { return null; } } ``` ![图片说明](https://img-ask.csdn.net/upload/201909/29/1569751753_957082.png) 这是错误 我仔细排查 把出问题的代码锁定在这个方法里 求教 这段为什么在iis上面出现了问题 是需要安装什么东西吗
求android大神说说为什么我这样获取不到网页验证码图片?
求android大神说说为什么我这样获取不到网页验证码图片? HttpPost httpPost = new HttpPost("cas.gzccc.edu.cn/lyuapServer/captcha.htm"); HttpResponse httpResponse = client.execute(httpPost); COOKIE = ((AbstractHttpClient) client).getCookieStore().getCookies().get(0).getValue(); byte[] bytes = EntityUtils.toByteArray(httpResponse.getEntity()); Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length); return bitmap; 我是做教务系统客户端的。但是网上的那个DEMO的这段代码无法解析得到图片,一直卡在这里
130 个相见恨晚的超实用网站,一次性分享出来
相见恨晚的超实用网站 持续更新中。。。
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
      11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的 回答 - Bravo Yeung,获得该问题下回答中得最高赞(236赞和1枚专业勋章),对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalk
iOS Bug 太多,苹果终于坐不住了!
开源的 Android 和闭源的 iOS,作为用户的你,更偏向哪一个呢? 整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 毋庸置疑,当前移动设备操作系统市场中,Android 和 iOS 作为两大阵营,在相互竞争的同时不断演进。不过一直以来,开源的 Android 吸引了无数的手机厂商涌入其中,为其生态带来了百花齐放的盛景,但和神秘且闭源的 iOS 系统相比,不少网友
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
为什么你学不过动态规划?告别动态规划,谈谈我的经验
动态规划难吗?说实话,我觉得很难,特别是对于初学者来说,我当时入门动态规划的时候,是看 0-1 背包问题,当时真的是一脸懵逼。后来,我遇到动态规划的题,看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手,关于递归的,我之前也写过一篇套路的文章,如果对递归不大懂的,强烈建议看一看:为什么你学不会递归,告别递归,谈谈我的经验 对于动态规划,春招秋招时好多题都会用到动态...
(经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
今年正式步入了大四,离毕业也只剩半年多的时间,回想一下大学四年,感觉自己走了不少弯路,今天就来分享一下自己大学的学习经历,也希望其他人能不要走我走错的路。 (一)初进校园 刚进入大学的时候自己完全就相信了高中老师的话:“进入大学你们就轻松了”。因此在大一的时候自己学习的激情早就被抛地一干二净,每天不是在寝室里玩游戏就是出门游玩,不过好在自己大学时买的第一台笔记本性能并不是很好,也没让我彻底沉...
使用 Angular 打造微前端架构的 ToB 企业级应用
这篇文章其实已经准备了11个月了,因为虽然我们年初就开始使用 Angular 的微前端架构,但是产品一直没有正式发布,无法通过生产环境实践验证可行性,11月16日我们的产品正式灰度发布,所以是时候分享一下我们在使用 Angular 微前端这条路上的心得(踩过的坑)了额,希望和 Angular 社区一起成长一起进步,如果你对微前端有一定的了解并且已经在项目中尝试了可以忽略前面的章节。 什么是微前...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
拿下微软、Google、Adobe,印度为何盛产科技圈 CEO?
作者 | 胡巍巍 出品 | CSDN(ID:CSDNnews) 世界500强中,30%的掌舵人,都是印度人。 是的,你没看错。这是近日《哈佛商业评论》的研究结果。 其中又以微软CEO萨提亚·纳德拉(Satya Nadella)、和谷歌CEO桑达尔·皮查伊(Sundar Pichai,以下简称劈柴)最为出名。 微软CEO萨提亚·纳德拉(Satya Nadella) 其他著名印度...
程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
一文带你入门Linux
文章目录1.1 Linux的概述:1.1.1 什么是Linux:1.1.1.1 学习Linux之前先了解Unix1.1.1.2 Linux的概述:1.1.1.3 Linux的历史:1.1.1.4 Linux系统的应用:1.1.1.5 Linux的版本1.1.1.6 Linux的主流版本1.2 Linux的安装:1.2.1 虚拟机安装:1.2.1.1 什么是虚拟机1.2.1.2 安装VmWare1....
普通三本毕业,我怎么一路艰辛进入阿里的
英雄不问出处? 自古以来就有这样一句话,真的英雄不问出处吗?这句话太挫了。普通三本院校的我,大四的时候居然都不知道什么是校招,所以出处太重要了。这也是没有机会参加阿里校招的原因,毕竟校招门槛比社招还是要低的,最重要的是校招进入阿里能让你的起点比别人更高。 有幸可以社招进入阿里,了解了校招的思路,赶紧介绍给学弟们,现在我们三本院校的小学弟今年居然有 3 个人通过了阿里的校招。下面我也把这份宝贵的经...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
强烈推荐10本程序员在家读的书
很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
关于2020年个人项目【臻美_疫情实时大数据报告】(项目开源)
本项目开源,供大家学习交流,数据来自官方通报。 项目网址: 点这可以查看项目 项目图例: 1、国内疫情(省) 2、国内疫情(市) 3、国外疫情 4、热点消息、辟谣消息 5、防疫知识 源码奉上: 本项目后台使用node.js app.js var originRequest = require('request'); var iconv = require('iconv-lite'...
[数据结构与算法] 排序算法
终于学习到了算法部分, 在学习算法时, 我们还是应该回顾一下数据结构与算法之间的关系 数据结构是研究数据的组织方式, 是算法的基础 算法是解决编程问题的方法论, 是程序的灵魂 程序= 数据结构+算法 排序算法 排序也称排序算法(Sort algorithm). 是指 将一组数据按照指定顺序进行排列的过程 主要分为内部排序和外部排序 内部排序: 指将需要处理的数据加载到内存中进行排序 外部排序...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
智力题(程序员面试经典)
NO.1  有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。 解法 有时候,严格的限制条件有可能反倒是解题的线索。在这个问题中,限制条件是天平只能用一次。 因为天平只能用一次,我们也得以知道一个有趣的事实:一次必须同时称很多药丸,其实更准确地说,是必须从19瓶拿出药丸进行称重。否则,如果跳过两瓶或更多瓶药...
自学python网络爬虫,从小白快速成长,分别实现静态网页爬取,下载meiztu中图片;动态网页爬取,下载burberry官网所有当季新品图片。
文章目录 1.前言 2.知识储备 3.爬取静态网站 4.爬取动态网站 1.前言 近日疫情严重,手机已经玩吐了,闲着无聊逛衣服品牌官网发现,结果一时兴起,想学一学python,写一个爬虫下载官网所有最新上架的衣服图片和价格;说干就干,但身为一个只学过一些c和c++的python 0基础大二小白,csdn上的各种教程里涉及的各种发法、工具和库让我眼花缭乱;因此走了很多弯路,终于花三天时间完成了爬虫的设...
面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他
初识 MyBatis MyBatis 是第一个支持自定义 SQL、存储过程和高级映射的类持久框架。MyBatis 消除了大部分 JDBC 的样板代码、手动设置参数以及检索结果。MyBatis 能够支持简单的 XML 和注解配置规则。使 Map 接口和 POJO 类映射到数据库字段和记录。 MyBatis 的特点 那么 MyBatis 具有什么特点呢?或许我们可以从如下几个方面来描述 MyBati...
对Tomcat的简单概要小结
首先我们必须得知道Tomcat就是一个服务,一个本地服务,我们可以控制启动和停止,我们程序员通过这个服务主要是用来存放我们的java程序,当我们把Java程序放进Tomcat服务中,一旦Tomcat服务启动起来,其他电脑就可以进行网络连通,也就是说其他电脑也可以共同访问这个Java程序。 Tomcat的主要目录的概念 有上面的概念之后,我们再来知道一下tomcat根目录下都有哪些文件,以及这些文...
相关热词 c# 为空 判断 委托 c#记事本颜色 c# 系统默认声音 js中调用c#方法参数 c#引入dll文件报错 c#根据名称实例化 c#从邮件服务器获取邮件 c# 保存文件夹 c#代码打包引用 c# 压缩效率
立即提问