[英]Issue in calling Webservice using URLConnection
我有一個網址如下
String url = "http://host.com/connect/v1.3/serviceProducts?q=\"lookupName\" LIKE 'A9051%'"
該URL指向一個寧靜的Web服務。 每當我嘗試使用HttpURLConnection
命中此URL時,它始終返回301 Moved Permanently
響應。
我曾嘗試編碼網址。 但是仍然無法正常工作。 以下是我嘗試對其進行編碼的代碼。
try {
url = URLEncoder.encode(url, "UTF-8");
} catch (UnsupportedEncodingException ex) {
java.util.logging.Logger.getLogger(DbInteraction.class.getName()).log(Level.SEVERE, null, ex);
}
url = url.replace("%3A", ":").replace("%2F", "/").replace("%3F", "?").replace("%3D", "=").replace("%25", "%");
編碼后,我的網址看起來像這樣。
http://host.com/connect/v1.3/serviceProducts?q=%22lookupName%22+LIKE+%27A9051%%27
有了這個編碼的URL,我仍然得到301 Status
。 我也嘗試了以下網址格式
http://host.com/connect/v1.3/serviceProducts?q=%22lookupName%22%20LIKE%20%27A9051%%27
我不明白我要去哪里錯了。 請提出建議。
我已經嘗試在Postman中測試該服務,並且該服務可以在預期的地方正常工作。
PS:這是一個虛擬URL,具有修改的主機詳細信息。
更新:
這是我嘗試點擊url的更多方法:
http%3A%2F%2Fhost.com%2Fconnect%2Fv1.3%2FserviceProducts%3Fq%3D%22lookupName%22LIKE%27A9051%25%27
http://host.com/connect/v1.3/serviceProducts%3Fq%3D%22lookupName%22+LIKE+%27A9051%25%27
http://host.com/connect/v1.3/serviceProducts?q%3D%22lookupName%22+LIKE+%27A9051%25%27
http://host.com/connect/v1.3/serviceProducts?q=%22lookupName%22+LIKE+%27A9051%25%27
完成URLEncoder.encode(url, "UTF-8");
之后,您不應進行任何替換URLEncoder.encode(url, "UTF-8");
因為這實際上是您需要使用的編碼字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.