導航:首頁 > 編程語言 > 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相關的資料

熱點內容
蘋果在線免費下載觀看 瀏覽:230
pgyy.vlp 瀏覽:819
免費可以看污的 瀏覽:539
主人公是勞拉的電影 瀏覽:354
java漢字轉utf8 瀏覽:310
dnf90版本赫拉斯 瀏覽:937
在電腦上怎麼保存文件 瀏覽:233
電腦賣出文件清理 瀏覽:366
蒙正網路是什麼 瀏覽:778
哪個網站在線看電視不卡 瀏覽:621
靜態電影為什麼搜不到 瀏覽:460
保寶app怎麼破解 瀏覽:417
韓國床上在線觀看 瀏覽:28
win10登陸qq左上角黑 瀏覽:619
耽美大尺度電影 瀏覽:904
瘋狂動物城人物介紹英文版 瀏覽:516
抖音上的微笑分數是什麼app 瀏覽:963
重生給明星老婆寫歌的小說 瀏覽:300
跟陌生人車震電影 瀏覽:231
win10越獄工具 瀏覽:980

友情鏈接