簡體   English   中英

使用URLConnection調用Web服務時出現問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM