导航:首页 > 编程语言 > chttp读取json

chttp读取json

发布时间:2021-10-25 06:55:18

㈠ 如何获取 httpclient 请求json 参数

import java.io.IOException;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

/**
*
*/
public class HttpClientUtil {

public static void main(String arg[]) throws Exception {
String url = "test.com";
JSONObject params = new JSONObject();
params.put("SRC_STM_CODE", "wsf");
params.put("TENANT_ID", "123");
params.put("NM", "张三");
params.put("BRTH_DT", "1983-01-20");
params.put("GND_CODE", "1");
JSONArray params2 = new JSONArray();
JSONObject param3 = new JSONObject();
param3.put("DOC_TP_CODE", "10100");
param3.put("DOC_NBR", "100200198301202210");
param3.put("DOC_CUST_NM", "test");
params2.add(param3);
params.put("DOCS", params2);
String ret = doPost(url, params).toString();
System.out.println(ret);
}

/**
httpClient的get请求方式2
* @return
* @throws Exception
*/
public static String doGet(String url, String charset)
throws Exception {
/*
* 使用 GetMethod 来访问一个 URL 对应的网页,实现步骤: 1:生成一个 HttpClinet 对象并设置相应的参数。
* 2:生成一个 GetMethod 对象并设置响应的参数。 3:用 HttpClinet 生成的对象来执行 GetMethod 生成的Get
* 方法。 4:处理响应状态码。 5:若响应正常,处理 HTTP 响应内容。 6:释放连接。
*/
/* 1 生成 HttpClinet 对象并设置参数 */
HttpClient httpClient = new HttpClient();
// 设置 Http 连接超时为5秒
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
/* 2 生成 GetMethod 对象并设置参数 */
GetMethod getMethod = new GetMethod(url);
// 设置 get 请求超时为 5 秒
getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 5000);
// 设置请求重试处理,用的是默认的重试处理:请求三次
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
String response = "";
/* 3 执行 HTTP GET 请求 */
try {
int statusCode = httpClient.executeMethod(getMethod);
/* 4 判断访问的状态码 */
if (statusCode != HttpStatus.SC_OK) {
System.err.println("请求出错: "+ getMethod.getStatusLine());
}
/* 5 处理 HTTP 响应内容 */
// HTTP响应头部信息,这里简单打印
Header[] headers = getMethod.getResponseHeaders();
for (Header h : headers)
System.out.println(h.getName() + "------------ " + h.getValue());
// 读取 HTTP 响应内容,这里简单打印网页内容
byte[] responseBody = getMethod.getResponseBody();// 读取为字节数组
response = new String(responseBody, charset);
System.out.println("----------response:" + response);
// 读取为 InputStream,在网页内容数据量大时候推荐使用
// InputStream response = getMethod.getResponseBodyAsStream();
} catch (HttpException e) {
// 发生致命的异常,可能是协议不对或者返回的内容有问题
System.out.println("请检查输入的URL!");
e.printStackTrace();
} catch (IOException e) {
// 发生网络异常
System.out.println("发生网络异常!");
e.printStackTrace();
} finally {
/* 6 .释放连接 */
getMethod.releaseConnection();
}
return response;
}

/**
* post请求
* @param url
* @param json
* @return
*/

public static JSONObject doPost(String url,JSONObject json){
DefaultHttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
JSONObject response = null;
try {
StringEntity s = new StringEntity(json.toString());
s.setContentEncoding("UTF-8");
s.setContentType("application/json");//发送json数据需要设置contentType
post.setEntity(s);
HttpResponse res = client.execute(post);
if(res.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
HttpEntity entity = res.getEntity();
String result = EntityUtils.toString(res.getEntity());// 返回json格式:
response = JSONObject.fromObject(result);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return response;
}

}

㈡ 如何调用http接口获取json数据及GET/POST方式调用http接口

http接口抄返回的json数据,其实就是http请求后返回的http主体那一部分。
http协议规定,http头部和http主体之间是以一个空行分割的。因为http每一行(每一行是指一个头部字段)是以\r\n结束的,一个空行的\r\n,再加上最后一行的结束符\r\n,一起是\r\n\r\n,也就是说,当检测到\r\n\r\n四个字符时,下一个字符开始就是http
body的内容了。把http响应主体保存下来就是json数据了。

㈢ 求助,Java中如何根据一个http接口获取JSON数据

publicvoidtest(LongclusterId,booleanmonitorSendAllFlag){
=false;
try{
Stringurl="http://www.xxx.com/xxx/xxx.action";
Stringjson=HttpConfigUtil.getHttpResponse(url);
System.out.println(json);

}catch(Exceptione){
e.printStackTrace();
}

}



(StringallConfigUrl){
BufferedReaderin=null;
StringBufferresult=null;
try{

URIuri=newURI(allConfigUrl);
URLurl=uri.toURL();
URLConnectionconnection=url.openConnection();
connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
connection.setRequestProperty("Charset","utf-8");

connection.connect();

result=newStringBuffer();
//读取URL的响应
in=newBufferedReader(newInputStreamReader(
connection.getInputStream()));
Stringline;
while((line=in.readLine())!=null){
result.append(line);
}

returnresult.toString();

}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(in!=null){
in.close();
}
}catch(Exceptione2){
e2.printStackTrace();
}
}

returnnull;

}



你可以根据这个写个例子试试,不会的再追问我

㈣ 通过http,获取接口的json数据,前面多了三个点

写个servlet,将结果转换成ArrayJson对象,打印出这个json就行,前端通过ajax去请求获得json数据。java转json需要用到相应的jar包,

㈤ Java中如何根据一个http接口获取JSON数据,http接口是通过第三方提供,有机构私钥,求代码示例

使用HttpClient,参照代码如下:
http://..com/question/1446921645999461940.html

㈥ 使用HttpGet获取json数据,有小概率事件会导致数据丢失,这是什么问题导致的

可能1:连接中断,服务端返回的json不全
可能2:因为代码的原因,服务端返回的数据本来就只有一条,如果有条件,最好是将httpget时使用的参数,在服务端执行,查看数据到底是几条

㈦ http请求 返回json数据类型,跨域调用接口,返回格式如下。我应该怎么获取里面的值啊。。。

什么语言啊? json是一个键值(jsonStr)一个对象。 你用eval("OTHERNAMES")得到内的是一个NULL对象, 你用eval(“PRODNAMES”)得到的是一个手机上网容5员套餐的字符串对象

㈧ C#怎么从http上返回JSON数据并读取

你这个应该是两个问题,
1、如何从http返回json
2、如何使用C#读取从http返回的json
解决方案:
问题1:http返回json可以使用webapi技术,自己开发一个webapi接口用于从数据库读取并提供数据。
问题2:首先要说一下,http的json如果是前端程序还是用javascript读取比较好。如果是后端的话,只能使用C#读取,使用HttpClient或者HttpWebRequest。
HttpClient方式:
using (WebClient client = new WebClient())
{
client.Headers["Type"] = "GET";
client.Headers["Accept"] = "application/json";
client.Encoding = Encoding.UTF8;
client.DownloadStringCompleted += (senderobj, es) =>
{
var obj = es.Result;
};
client.DownloadStringAsync("http://localhost:41558/api/Demo");
}
HttpWebRequest方式:略(写上之后网络页面报错!!!)
另外http方式的调用,分为get、post、put等方式。需要注意服务器端的情况。

上述例子引用自http://www.cnblogs.com/MuNet/p/6732338.html

㈨ 怎么用java读取一个http://。。。。。 .xml并返回json数据啊

可以用httpClient 发起一个 get或者post请求然后得到返回的结果再做json的解析即可
httpClient 用法:
1. GET 方式传递参数
//先将参数放入List,再对参数进行URL编码
List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "数据")); //增加参数1
params.add(new BasicNameValuePair("param2", "value2"));//增加参数2
String param = URLEncodedUtils.format(params, "UTF-8");//对参数编码
String baseUrl = "服务器接口完整URL";
HttpGet getMethod = new HttpGet(baseUrl + "?" + param);//将URL与参数拼接
HttpClient httpClient = new DefaultHttpClient();
try {
HttpResponse response = httpClient.execute(getMethod); //发起GET请求
Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8"));//获取服务器响应内容
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

2. POST方式 方式传递参数
//和GET方式一样,先将参数放入List
params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "Post方法"));//增加参数1
params.add(new BasicNameValuePair("param2", "第二个参数"));//增加参数2
try {
HttpPost postMethod = new HttpPost(baseUrl);//创建一个post请求
postMethod.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //将参数填入POST Entity中
HttpResponse response = httpClient.execute(postMethod); //执行POST方法
Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8")); //获取响应内容
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

㈩ 怎么通过http请求获取到json数据

得到对方返回的来String数据,然自后自己做相关转换就可以了。

这里有HTTP请求整套源码:

http://www.sojson.com/blog/123.html

然后下面是线上的Demo:

在线HTTP POST/GET ... 接口测试工具

http://www.sojson.com/httpRequest/
阅读全文

与chttp读取json相关的资料

热点内容
javaruntime142 浏览:610
word把数字变斜 浏览:372
小米6忘记锁屏密码怎么办啊 浏览:462
北京白领都用什么社交app 浏览:518
政法app哪个好用 浏览:514
房产平台如何推广新网站 浏览:701
u盘导文件总是中断 浏览:995
下载的招标文件打不开是为什么 浏览:356
都市美艳后宫 浏览:435
十部顶级古埃及电影 浏览:107
linux用户读写权限 浏览:936
少侠十七妻全文阅读 浏览:422
公主奴 浏览:856
k9d3 浏览:182
分卷阅读 玩武警少尉 浏览:44
知乎写小说入口 浏览:772
美国农场爱情片 浏览:709
主角一开始就长生不老 浏览:338
mike文件内容和输入不匹配 浏览:499
plsql怎么连接数据库连接 浏览:951

友情链接