1

GAE からの認証を使用して URL に POST リクエストを送信すると、urlConn.getResponseCode() 関数で MalformedURLException が発生します。

この問題は展開サーバーでのみ発生し、ローカル サーバーでコードを実行すると発生しません。

Invalid URL specified: https://user:passtoken@twilix.exotel.in/v1/Accounts/user/Sms/send
java.net.MalformedURLException: Invalid URL specified: https://user:passtoken@twilix.exotel.in/v1/Accounts/user/Sms/send

at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationException(URLFetchServiceImpl.java:120)
at com.google.appengine.api.urlfetch.URLFetchServiceImpl.fetch(URLFetchServiceImpl.java:43)
at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.fetchResponse(URLFetchServiceStreamHandler.java:417)
at com.google.apphosting.utils.security.urlfetch.URLFetchServiceStreamHandler$Connection.getInputStream(URLFetchServiceStreamHandler.java:296)

私のコード:

String urlString = 
      "https://user:passtoken@twilix.exotel.in/v1/Accounts/user/Sms/send";
URL url = new URL(urlString.toString());
String userpass = "user:passtoken";
String basicAuth = "Basic " + 
    javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes());

urlConn = (HttpURLConnection) url.openConnection();
urlConn.setRequestMethod("POST");
urlConn.setRequestProperty ("Authorization", basicAuth);
urlConn.connect();
responseCode = urlConn.getResponseCode();    //Throws Exception

URL をhttps://httpbin.org/postとして設定しようとすると、すべて正常に動作します

これは GAE のバグですか、それとも私のコードの問題ですか?

4

1 に答える 1