導航:首頁 > 編程語言 > json的httpheader

json的httpheader

發布時間:2023-01-16 18:40:49

jsON數據的HTTP Header應該怎麼標記

Http之Get/Post請求區別 1.HTTP請求格式: [] 在HTTP請求中,第一行必須是一個請求行(request line),用來說明請求類型、要訪問的資源以及使用的HTTP版本。緊接著是一個首部(header)小節,用來說明伺服器要使用的附加信息。

㈡ 如何調用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數據了。

㈢ 如何用curl post 一段包含中文json的文本到伺服器

我的博客《PHP cURL實現模擬登錄與採集使用方法詳解》第十一點發送與獲取json數據對此類問題做了詳細的講解,下面是代碼示例:

<?php
#json數據
$url='http://test.com/curl/testPostJsonData.php';
$data='{"a":"b"}';
$length=strlen($data);
$header=array(
'Content-Length:'.$length,//不是必需的
'Content-Type:text/json',
);
$ch=curl_init($url);//初始化curl
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$content=curl_exec($ch);//執行並存儲結果
curl_close($ch);
echo$content;

# 分割數據
$data=[
'name:Zjmainstay',
'website:http://www.zjmainstay.cn',
];
$data=implode(" ",$data);

#&分割數據
$data='name:Zjmainstay&website:http://www.zjmainstay.cn';


更多詳情,包括服務端如何接收此類數據,請查看博客:http://www.zjmainstay.cn/php-curl

㈣ JSON數據的HTTP Header應該怎麼標記

第一種
header('Content-type: application/json');
另一種
header('Content-type: text/json');

網路請求設置AuthorizationHeader

-(AFHTTPSessionManager*)defaultHTTPManager{

// 初始化對象

AFHTTPSessionManager*manager=[AFHTTPSessionManager manager];

// 返回的格式

JSONmanager.responseSerializer=[AFJSONResponseSerializer serializer];

// 可接受的文本參數規格

manager.responseSerializer.acceptableContentTypes=[NSSet setWithObjects:@"application/json",@"text/html",@"text/json",@"text/javascript",nil];

// 開始設置請求頭

[manager.requestSerializer setValue:@"application/json"forHTTPHeaderField:@"Content-Type"];[manager.requestSerializer setValue:@"填寫系統版本"forHTTPHeaderField:@"sysVersion"];[manager.requestSerializer setValue:@"填寫設備"forHTTPHeaderField:@"deviceModel"];[manager.requestSerializer setValue:@"填寫App版本"forHTTPHeaderField:@"appVersion"];

// uid是每個用戶對應的ID cipherText是密碼NSString*part1=[NSString stringWithFormat:@"%lld:%@",uid,cipherText];

// 通過 ID :密碼 的格式,用Basic 的方式拼接成字元串NSString*authorization=[NSString stringWithFormat:@"Basic %@",[part1 base64Encode]];

// 設置Authorization的方法設置header[manager.requestSerializer setValue:authorization forHTTPHeaderField:@"Authorization"];

// 或者直接調用AF的方法進行設置

//

- (void):(NSString *)username// password:(NSString *)password

//

{

// NSData *basicAuthCredentials = [[NSString stringWithFormat:@"%@:%@", username, password] dataUsingEncoding:NSUTF8StringEncoding];

// NSString *base64AuthCredentials = [basicAuthCredentials :(NSDataBase64EncodingOptions)0];

//

[self setValue:[NSString stringWithFormat:@"Basic %@", base64AuthCredentials] forHTTPHeaderField:@"Authorization"];

// }returnmanager;}

㈥ Http的Header裡麵包含哪些欄位,每個欄位都有哪些含義

HTTP報文中的Header可以分為請求中的Header和響應中的Header常見Header詳解:Header中」q」值的含義:優先順序。 沒有q值的優先順序默認為1。 q值一樣的,范圍小的優先順序高。 格式:分號。 Accept: 客戶端可以接受的Body格式 application/json ——JSON格式 text/plain——純文本格式 text/html——HTML文本 */*——所有格式 逗號隔開,有順序。 分號前是主類型,分號後是子類型。 如果沒有Accept請求頭,相當於*/* Accept-Encoding : Content-Encoding: Accept-Encoding指定瀏覽器可以支持的web伺服器返回內容壓縮編碼類型。 伺服器會通過Accept-Encoding得到客戶端支持的壓縮方式,如果伺服器和瀏覽器同時支持某種壓縮方式,伺服器就會添加一種Content-Encoding,來進行壓縮。 如果伺服器不支持客戶端Accept-Encoding中的任何一個壓縮方式,則會返回406錯誤。 如果請求頭中沒有Accept-Encoding這個頭,則會默認客戶端支持任何方式。 Accept-Language: 瀏覽器可接受的自然語言的類型。 如果沒有Accept-Language這個請求頭,伺服器默認客戶端支持所有自然語言。 例如:zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4 User-Agent: 主要用於統計和追蹤信息,用處不大。可以包含很多信息。 User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36 Content-Type: 表示請求或響應體的格式。 Connection: 設置HTTP連接的持久化,通常都是Keep-Alive。 Connection: close 表示在響應結束後,結束連接。 WWW-Authenticate: WWW-Authenticate響應頭必須包含在401授權錯誤中,表示通過什麼方式進行身份驗證。 例如:WWW-Authenticate: BASIC realm="application"如果沒有ACCEPT請求頭?相當於*/* 任何格式都接收如果請求頭中沒有ACCEPT-ENCODING?默認客戶端支持任何方式如果沒有ACCEPT-LANGUAGE這個請求頭?伺服器默認客戶端支持所有自然語言。POSTMAN測試正常,前端頁面測試不正常??POSTMANJMETER CHROME在JAVA中取得請求頭?取得HttpServletRequest對象 public String getHeader(String name); public Enumeration getHeaders(String name); public Enumeration getHeaderNames();在JAVA中添加響應頭?取得HttpServletResponse對象 public void setHeader(String name, String value);——會覆蓋 public void addHeader(String name, String value);——添加多個值如何用JAVA更改請求頭?網路 ptteng.github.io/PPT/PPT-java/java-task2-header.html

㈦ php post 設置header json傳參

public function urlGetContent( params = null, json = false)
{
ch, CURLOPT_URL, ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt( ch, CURLOPT_HEADER, 0);
if ( ch, CURLOPT_POST, true);
if ( params)) {
params);
}
if (is_string( params)) {
curl_setopt( params);
} else {
// error_log("Argument $params should be an array of parameters or (if you want to send raw data) a string");
return false;
}
if ( ch, CURLOPT_HTTPHEADER,
array(
'Content-Type: application/json; charset=utf-8',
'Content-Length:' . strlen( ch, CURLOPT_RETURNTRANSFER, 1);
ch);
curl_close( output;
}

㈧ 如何獲取 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;
}

}

㈨ 如何用curl post 一段包含中文json的文本到伺服器

一般中文json_encode之後會變成uxxxx的格式了,只要使用正規的json_encode處理,
不需要考慮中文問題。

至於如何post數據到伺服器,需要設定header,參考代碼如下:
<?php
#json數據
$url='http://test.com/curl/testPostJsonData.php';
$data='{"a":"b"}';
$length=strlen($data);
$header=array(
'Content-Length:'.$length,//不是必需的
'Content-Type:text/json',
);
$ch=curl_init($url);//初始化curl
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$content=curl_exec($ch);//執行並存儲結果
curl_close($ch);
echo$content;

服務端需要使用$data=file_get_contents('php://input');獲取數據。

更多PHPcURL內容請參考我的博客《PHPcURL實現模擬登錄與採集使用方法詳解教程

閱讀全文

與json的httpheader相關的資料

熱點內容
仙劍歷代發行版本 瀏覽:266
cmp文件夾 瀏覽:473
公眾號小程序源代碼 瀏覽:178
眾心彩票是個什麼APP 瀏覽:815
電腦如何連接藍牙網路 瀏覽:793
篩選後如何計算復雜數據 瀏覽:287
如何把不同品牌的手機數據導出 瀏覽:393
日歷資料庫表的設計 瀏覽:761
代碼如何快速做金字塔數據 瀏覽:775
文件異地同步軟體 瀏覽:383
微信網頁版自動登錄 瀏覽:370
excel如何分開男女數據 瀏覽:883
帝豪gl怎麼打開u盤文件夾在哪裡 瀏覽:477
蘋果皮能用流量嗎 瀏覽:548
電腦寬頻連接共享wifi密碼 瀏覽:655
最新微粒貸app官方下載 瀏覽:923
win10電腦怎麼休眠不斷網 瀏覽:530
如何查到網站的伺服器 瀏覽:225
編程怎麼確定一個數的位數 瀏覽:362
如何安裝ae腳本文件夾 瀏覽:914

友情鏈接