对于url传参的心得。在java中获取数据。。

由于项目抓的紧,发现一个url传参的问题,忙里偷闲整理了一下。

首先得说明,我是要用过另一个项目的url获取json串解析出来给自己的接口使用,这是在java中完成。一般的情况是这样的:

 1 public static void main(String args[]){
 2         String url="http://123.56.6.112:2080/ec_app_api/article/getfirst?params={v:1}";  //通过?在后面传参
 3         StringBuilder json = new StringBuilder();
 4         try {
 5             URL urlObject = new URL(url);
 6             URLConnection uc = urlObject.openConnection();
 7             BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream(),"UTF-8"));
 8             String inputLine = null;
 9             while ( (inputLine = in.readLine()) != null) {
10                 json.append(inputLine);
11             }
12             in.close();
13         } catch (MalformedURLException e) {
14             e.printStackTrace();
15         } catch (IOException e) {
16             e.printStackTrace();
17         }
18         String json1=json.toString();
19         System.out.println(json1);
20         Map<String,Object> mapa = new HashMap<String,Object>(); //map的value必须为object
21         mapa = JSONObject.fromObject(json1);
22         System.out.println(mapa);
23         Map<String,Object> mapb = JSONObject.fromObject(mapa.get("data")); //获取date里面的参数,这也是一个map集合
24         System.out.println(mapb);
25         String title=mapb.get("title").toString();
26         String content=mapb.get("content").toString();
27         String id=mapb.get("id").toString();
28         System.out.println("@@@@@@@@@@@@@@"+title+"@@@@@@@@@@@@@@@@");

  然而,今天的项目是通过postman插件里面的raw请求可以成功,而一般的form—date是不成功的。查资料后才发现raw是一种原始的字符串请求方式。因此找到相关的方法就好了;下面是请求的代码:

 public static void main(String args[]) throws Exception{

        String jsonTemp="{\"method\": \"GetCourtServItemList\",\"version\": \"ljapp_v1.0.0\",\"courtId\":283}";
        String method="GetCourtServItemList";
        String url = "http://115.28.5.221:8080/api/GetCourtServItemList.json";

        HttpClient httpClient = new DefaultHttpClient();
        HttpPost post = new HttpPost(url);
        StringEntity postingString = new StringEntity(jsonTemp);// jsonTemp的传递
        post.setEntity(postingString);
        post.setHeader("Content-type", "application/json");
        HttpResponse response = httpClient.execute(post);
        String content = EntityUtils.toString(response.getEntity());
        System.out.println(content);

    }

  好了,这样请求就成功了。

时间: 2024-10-05 09:19:36

对于url传参的心得。在java中获取数据。。的相关文章

Java URL传参中文乱码问题

我们经常会遇到这样的场景:在URL中传递参数,如果该参数为中文,如果设置不当,会出现乱码问题. URL传参所使用的编码为服务器中设置的编码,而ajax请求的编码为页面编码. 如果不设置tomcat的默认编码为ISO-8859-1,而如果在设置中加入 useBodyEncodingForURI="true" <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="

关于url传参中文乱码问题

之前都一直很不了解中文编码得问题,之前在做项目中没碰到那么头痛的问题.所以一直没有了解中文乱码的问题. 问题描述: 地址: http://localhost:8080/sun-government/contest/get_teams_by_type_with_page?typeName=新材料 当在windows 跑 myeclipse的命令台  能正确打印出typeName的参数,而且持久层并没有问题. 当在 linux 跑catalina模式  打印出乱码,持久层也是乱码. 百度了好几个好几

配置Tomcat解决URL传参引出的中文乱码问题

今天在写一个JSP页面时候,发现下面报错: <span style="font-size:18px;"> <a href="request.jsp?username=小七七">测试URL传参</a></span> 通常情况下,通过使用contentType和下面的就可以解决传参过程中的中文乱码问题,但是貌似URL传参还要设备别的东西. <% request.setCharacterEncoding("u

如何解决url传参导致错误问题

如何解决url传参导致错误问题:如果使用url传并且参数中含有特殊字符的话,那么就会导致一些错误,下面就来介绍一下如何解决此问题.方法很简单,只要使用encodeURI ()函数进行编码即可.如果得到原来的字符串,使用decodeURI()函数即可,这里就不多介绍了.更多相关内容可以参阅js的escape.encodeURI和encodeURIComponent的区别一章节. 原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=97

点击div 跳转并通过URL传参

点击div前要先给div绑定要传的参数: //给panel绑定自定义属性,方便在跳转时传带参数,键/值对排列 panel.attr("user_age",user_age); panel.attr("user_name",user_name); panel.attr("user_sex",user_sex); panel.attr('user_problem_dec',user_problem_dec); panel.attr('user_img

Silverlight项目笔记8:层次布局、客户端读取shp、ExecuteCountAsync、柱状图、url传参

1.层次布局 由于地图窗口和菜单栏都在一个父容器内,在浏览器缩小到一定程度点击地图弹出infoWindow时,会出现菜单栏遮挡infoWindow中间部分的现象,于是通过设置Canvas.ZIndex来设置显示层次顺序解决这种冲突. 2.客户端读取Shp文件 有一个应用场景时用户自定义一个范围进行数据统计,包括用户上传已有Shp数据来确定统计区域,如何读取shp文件呢?答案是用了开源的ShapeFileReader类,转化得到graphic,客户端再处理即可.下载地址 http://esrisl

url 传参

php 支持 url 传参的形式 调用后台php文件,如: 1 <a href='process.php?action=download&id=$id'>下载</a> 在后台process.php文件中,可通过$_GET[]方式获取参数: 1 <?php 2 if(@$_GET["action"] == "download"){ //检测此action 3 ... 4 } 5 ?> 值得注意的是: 要小心参数可能包含' '

浏览器URL传参最大长度问题

这几天为解决一个BUG头疼了一段时间,BUG现象如下: 一个选择人员的选择控件,当选择多个人时(50多个的时候),返回没有错误现象,而再一次打开的时候就报404错误.看到这个错误非常纳闷,无法下手,只能再一次看控件的代码,在详细看代码时,发现所有的参数都是经过URL传参的,赶紧百度一下URL参数的大小限制(从这个百度开始,我就进入一个误区:参数大小的限制).结果发现网上都说URL参数的大小为256字节,再一看自己的数据,的确超过了这么多,既然找到原因就修改,把参数传递方法修改为不通过URL传参.

winform访问url传参有返回值

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Net;using System.Text;using System.Threading.Tasks; namespace ConsoleApplication1{ class Program { static void Main(string[] args) { HttpWebRequest request =