я пост с заголовком авторизации кода, какAndroid - Как отправить с заголовком авторизации
public static String doPost(String url, List<NameValuePair> params) {
/* 建立HTTPPost对象 */
HttpPost httpRequest = new HttpPost(url);
httpRequest.setHeader("Authorization", "Bearer " + token);
httpRequest.setHeader("Content-type", "application/json");
String strResult = "doPostError";
try {
/* 添加请求参数到请求对象 */
httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
HttpClient httpClient = getHttpClient();
/* 发送请求并等待响应 */
HttpResponse httpResponse = httpClient.execute(httpRequest);
/* 若状态码为200 ok */
if (httpResponse.getStatusLine().getStatusCode() == 200) {
InputStream is = httpResponse.getEntity().getContent();//获取内容
final String result = streamToStr(is);
/* 读返回数据 */
strResult = EntityUtils.toString(httpResponse.getEntity());
} else {
strResult = "Error Response: "
+ httpResponse.getStatusLine().toString();
}
} catch (ClientProtocolException e) {
strResult = e.getMessage().toString();
e.printStackTrace();
} catch (IOException e) {
strResult = e.getMessage().toString();
e.printStackTrace();
} catch (Exception e) {
strResult = e.getMessage().toString();
e.printStackTrace();
}
Log.v("Cloud Service", strResult);
return strResult;
}
стороне сервера является веб-api.I разместить запрос
final String api = "api/RealTime/GetDtu";
List<NameValuePair> list=new ArrayList<NameValuePair>();
list.add(new BasicNameValuePair("PhoneId", station.getPhoneId()));
Но сервер делает не получил никаких json parameters.Web api имеет только один параметр PhoneId.Why я вызываю web api, но параметр null?
yep, я устанавливаю параметры сообщения, такие как doPost (host + api, list); – Whistler
Не в коде, который вы нам дали, вы этого не сделали. Вы устанавливаете только один параметр, который, как вы сказали, у вас есть. Это похоже на то, что он работает, как ожидалось для меня. –
Я отлаживаю свой серверный веб-сайт api «api/RealTime/GetDtu», авторизированный веб-api, но параметр null – Whistler