我在使用apache httpclient时遇到了一个非常奇怪的问题,我在尝试向本地服务器执行发布请求时遇到“目标主机未指定”错误,它在Windows 10中工作但在Ubuntu中不起作用。
这是代码
public JSONObject sendServerRequest(JSONObject message, String url, String secret) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
String timestamp = sdf.format(Calendar.getInstance().getTimeInMillis());
message.put(Web.auth.timeStamp, timestamp);
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost req = new HttpPost(url);
StringEntity resp = new StringEntity(message.toString());
req.addHeader("content-type", "application/json");
req.addHeader("Authorization", hmac(secret, message.toString()));
req.setEntity(resp);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String response = httpClient.execute(req, responseHandler);
return new JSONObject(response);
}
我将以下网址传递给此功能
public static class urls {
// private static final String serverAddress = "http://192.168.100.5:8000";
private static final String serverAddress = "http://192.168.0.19:8000";
public static final String shopRegistration = serverAddress + "/shop/signup";
public static final String shopUpdate = serverAddress + "/shop/update";
public static final String shopDeactivate = serverAddress + "/shop/deact";
public static final String shopLogout = serverAddress + "/shop/logout";
public static final String shopLogin = serverAddress + "/shop/login";
public static final String sessionCheck = serverAddress + "/shop/ses";
public static final String shopImageAdd = serverAddress + "/shop/image";
public static final String productAdd = serverAddress + "/product/add";
public static final String productFetch = serverAddress + "/product/details";
public static final String productUpdate = serverAddress + "/product/update";
public static final String productRemove = serverAddress + "/product/remove";
public static final String productList = serverAddress + "/product/get";
public static final String productAddImage = serverAddress + "/product/image";
public static final String invoiceAdd = serverAddress + "/invoice/add";
public static final String invoiceUpdate = serverAddress + "/invoice/update";
public static final String invoiceCancel = serverAddress + "/invoice/cancel";
public static final String invoiceDelete = serverAddress + "/invoice/delete";
public static final String invoiceFetch = serverAddress + "/invoice/details";
public static final String invoiceList = serverAddress + "/invoice/get";
public static final String taxCreditAdd = serverAddress + "/supply/add";
public static final String taxCreditUpdate = serverAddress + "/supply/update";
public static final String taxCreditDelete = serverAddress + "supply/tax/delete";
public static final String taxCreditFetch = serverAddress + "/supply/detail";
public static final String taxCreditList = serverAddress + "/supply/get";
public static final String creditNoteAdd = serverAddress + "/credit/add";
public static final String creditNoteUpdate = serverAddress + "/credit/update";
public static final String creditNoteList = serverAddress + "/credit/get";
public static final String creditNoteFetch = serverAddress + "/credit/details";
public static final String creditNoteDelete = serverAddress + "/credit/remove";
public static final String debitNoteAdd = serverAddress + "/debit/add";
public static final String debitNoteUpdate = serverAddress + "/debit/update";
public static final String debitNoteList = serverAddress + "/debit/get";
public static final String debitNoteFetch = serverAddress + "/debit/details";
public static final String debitNoteDelete = serverAddress + "/debit/remove";
}
}