Android怎样在http头信息里设置参数

Android怎样在http头信息里设置参数,第1张

在使用http请求server时常常要传递一些参数给server,如IMEI号、平台号、渠道号、客户端的版本号等一些通用信息,像这些参数我们没有必要每次都拼在url后,我们可以统一添加到http头里。

1.HttpClient的设置http头的参数

HttpClient httpclient = new DefaultHttpClient()

httpclient.getParams().setParameter(

CoreConnectionPNames.CONNECTION_TIMEOUT, CONN_TIME_OUT)

HttpGet httpget = new HttpGet(url)

httpget.addHeader("version", SystemInfo.getVersionChars())

httpget.addHeader("client_token", SystemInfo.getIMEI())

httpget.addHeader("platform", SystemInfo.getPlatForm() + "")

httpget.addHeader("channel_id", SystemInfo.getChannelId() + "")

2.HttpURLConnection的设置http头的参数

httpURLConnection.addRequestProperty("version",

SystemInfo.getVersionChars())

httpURLConnection.addRequestProperty("client_token",

SystemInfo.getIMEI())

httpURLConnection.addRequestProperty("platform",

SystemInfo.getPlatForm() + "")

httpURLConnection.addRequestProperty("channel_id",

SystemInfo.getChannelId() + "")

//添加http头信息

httppost.addHeader("Authorization", "your token")//认证token

httppost.addHeader("Content-Type", "application/json")

httppost.addHeader("User-Agent", "imgfornote")

给http post传参,参考以下二个实例:

//serverURL url地址

HttpPost httpPost = new HttpPost(serverURL)

//param 为参数

StringEntity entity = new StringEntity(param)

entity.setContentType("application/x-www-form-urlencoded")

httpPost.setEntity(entity)

HttpResponse httpResponse = httpClient.execute(httpPost)

还可以用map作为参数

List<NameValuePair>formparams = new ArrayList<NameValuePair>()

if(param!=null){

Set set = param.keySet()

Iterator iterator = set.iterator()

while (iterator.hasNext()) {

Object key = iterator.next()

Object value = param.get(key)

formparams.add(new BasicNameValuePair(key.toString(), value.toString()))

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11763296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存